Ladda ner exempelarbetsboken
Denna handledning visar hur du tar bort siffror från texten i en cell i Excel och Google Kalkylark.
Vi kommer att diskutera två olika formler för att ta bort tal från text i Excel.
ERSÄTTARE Funktionsformel
Vi kan använda en formel baserad på ersättningsfunktionen. Det är en lång formel men det är ett av de enklaste sätten att ta bort tal från en alfanumerisk sträng.
I den här formeln har vi kapslat SUBSTITUTE -funktioner 10 gånger, så här:
1 | = BYTE (BYT (BYT (BYT (BYT (BYT (BYT (BYT (BYT (BYT (Byt (B3,1, ""), 2, ""), 3, ""), 4, ""), "), 6," "), 7," "), 8," "), 9," "), 0," ") |
Array TEXTJOIN -formel
För att ta bort tal från alfanumeriska strängar kan vi också använda en komplex matrisformel som består av funktionerna TEXTJOIN, MID, ROW och INDIRECT.
1 | {= TEXTJOIN ("", TRUE, IF (ISERR (MID (B3, ROW (INDIRECT ("1:" & LEN (B3))), 1) +0), MID (B3, ROW (INDIRECT ("1:" & LEN (B3))), 1), ""))}} |
Obs! TEXTJOIN är en ny Excel -funktion tillgänglig i Excel 2022+ och Office 365.
Detta är en komplex formel, så vi delar upp den i steg för att förstå den bättre.
Steg 1
MID -funktionen används för att extrahera den alfanumeriska strängen baserat på argumenten start_num och num_chars.
För argumentet start_num i MID -funktionen använder vi den resulterande matrislistan från funktionerna RAD och INDIRECT.
1 | = RAD (INDIRECT ("1:" & LEN (B3))) |
Och för num-chars-argumentet sätter vi 1. Efter att ha lagt in argumenten i MID-funktionen returnerar den en array.
1 | {= MIDD (B3, RAD (INDIRECT ("1:" & LEN (B3))), 1)} |
Steg 2
Vi lägger till noll till varje värde i den resulterande matrisen (som vi får från ovanstående MID -funktion). I excel, om vi lägger till siffror till icke-numeriska tecken, får vi ett #VÄRDE! Fel. Så efter att ha lagt till 0 i ovanstående matris får vi en rad nummer och #Värde! Fel.
1 | {= MIDD (B3, RAD (INDIRECT ("1:" & LEN (B3))), 1) +0} |
Steg 3
Efter att ha lagt till 0 sätts den resulterande matrisen in i ISERR -funktionen. Som vi vet returnerar ISERR-funktionen TRUE för fel och FALSE för icke-felvärden.
Så det ger en matris med SANT och FALSKT, SANT för icke-numeriska tecken och FALSKT för tal.
1 | = ISERR (MIDT (B3, RAD (INDIRECT ("1:" & LEN (B3))), 1) +0) |
Steg 4
Nu lägger vi till IF -funktionen.
IF -funktionen kommer att kontrollera resultatet av ISERR -funktionen (steg 3). Om dess värde är SANT returnerar det en uppsättning med alla tecken i en alfanumerisk sträng. För detta har vi lagt till en annan MID -funktion utan att lägga till noll i slutet. Om värdet på IF -funktionen är FALSKT returnerar det tomt (“”).
På detta sätt kommer vi att ha en array som endast innehåller strängens icke-numeriska tecken.
1 | = IF (ISERR (MID (B3, ROW (INDIRECT ("1:" & LEN (B3))), 1) +0), MID (B3, ROW (INDIRECT ("1:" & LEN (B3))), 1 ), "") |
Steg 5
Slutligen sätts ovanstående matris in i TEXTJOIN -funktionen. TEXTJOIN -funktionen kommer att ansluta alla tecken i ovanstående array och ignorera den tomma strängen.
Avgränsaren för den här funktionen ställs in en tom sträng ("") och argumentet ignorera_empty skrivs in SANT.
Detta ger oss det önskade resultatet, dvs endast de icke-numeriska tecknen i den alfanumeriska strängen.
1 | {= TEXTJOIN ("", TRUE, IF (ISERR (MID (B3, ROW (INDIRECT ("1:" & LEN (B3))), 1) +0), MID (B3, ROW (INDIRECT ("1:" & LEN (B3))), 1), ""))}} |
Obs! Detta är en matrisformel. När du anger matrisformler i Excel 2022 eller tidigare måste du använda CTRL + SKIFT + ENTER för att ange formeln istället för den vanliga STIGA PÅ.
Du vet att du har angett formeln korrekt med de lockiga parenteserna som visas. Skriv INTE de lockiga parenteserna manuellt, formeln fungerar inte.
Med Office 365 (och förmodligen versioner av Excel efter 2022) kan du helt enkelt ange formeln som normalt.
TRIM -funktion
När siffrorna tas bort från strängen kan vi ha extra mellanslag kvar. För att ta bort alla bakre och ledande mellanslag och de extra mellanslagen mellan ord kan vi använda TRIM -funktionen före huvudformeln, så här:
1 | = TRIM (C3) |
Ta bort nummer från text i Google Kalkylark
Formeln för att ta bort siffror från texten fungerar exakt samma i Google Kalkylark som i Excel: