Ladda ner exempelarbetsboken
Denna handledning kommer visa dig hur du tar bort icke-numeriska tecken från celler i Excel och Google Sheet.
Ta bort icke-numeriska tecken
Notera: Funktionerna som nämns i den här artikeln introducerades i Excel 2016. Om du har en äldre version av Excel, se den här artikeln: Hitta och extrahera nummer från sträng.
Med funktionerna TEXTJOIN, SEQUENCE, MID och IFERROR kan du ta bort alla icke-numeriska tecken:
1 | = TEXTJOIN ("", TRUE, IFERROR (MIDD (B3, SEQUENCE (LEN (B3)), 1) +0, ""))) |
Låt oss se hur denna formel fungerar.
SEKVENS- och LEN -funktionerna returnerar en rad nummer som börjar från 1 till längden på vår alfanumeriska sträng. I vårt fall blir det {1,2,3,4,5,6,7,8,9,10,11,12,13}.
1 | = TEXTJOIN ("", TRUE, IFERROR (MIDD (B3, {1; 2; 3; 4; 5; 6; 7; 8; 9; 10; 11; 12; 13}, 1) +0, "") ) |
MID -funktionen returnerar tecknen som motsvarar positionerna från vår numeriska array ovan:
1 | = TEXTJOIN ("", TRUE, IFERROR ({"1"; "3"; "M"; "o"; "n"; "d"; "a"; "y"; "0"; "1" ; "D"; "a"; "y"}+0, "")) |
Att lägga till 0 till varje objekt i matrisen kommer att orsaka ett fel om värdet är text. Då ersätter IFERROR -funktionen felet med en tom sträng och lämnar bara de numeriska värdena:
1 | = TEXTJOIN ("", TRUE, {1; 3; ""; ""; ""; ""; ""; ""; 0; 1; ""; ""; ""}) |
Sist returnerar TEXTJOIN -funktionen endast de numeriska tecknen.
Istället för att använda SEQUENCE -funktionen kan du uppnå samma mål genom att kombinera TEXTJOIN -funktionen med funktionerna LEN, INDIRECT, ROW, MID och IFERROR.
1 | = TEXTJOIN ("", TRUE, IFERROR ((MID (B3, RAD (INDIRECT ("1:" & LEN (B3))), 1)*1), "")) |
Så här tar du bort icke-numeriska tecken i Google Kalkylark
Alla exemplen som förklaras ovan fungerar på samma sätt i Google -blad som i Excel.