Excel-formel: Strip ikke-numeriske tegn -

Generisk formel

(=TEXTJOIN("",TRUE,IFERROR(MID(A1,ROW(INDIRECT("1:100")),1)+0,"")))

Resumé

For at fjerne ikke-numeriske tegn fra en tekststreng kan du prøve denne eksperimentelle formel baseret på TEXTJOIN-funktionen, en ny funktion i Excel 2019. I det viste eksempel er formlen i C5:

(=TEXTJOIN("",TRUE,IFERROR(MID(B5,ROW(INDIRECT("1:100")),1)+0,"")))

Bemærk: dette er en matrixformel og skal indtastes med kontrol + skift + enter.

Forklaring

Arbejder indefra og ud, bruges MID-formlen til at udtrække teksten i B5, et tegn ad gangen. Nøglen er ROW / INDIRECT stykke:

ROW(INDIRECT("1:100"))

der spinder et array op, der indeholder 100 numre som dette:

(1,2,3,4,5,6,7,8… .99,100)

Bemærk: 100 repræsenterer det maksimale antal tegn, der skal behandles. Skift, så det passer til dine data.

Denne matrix går ind i MID-funktionen som start_num argument. For num_chars bruger vi 1.

MID-funktionen returnerer en matrix som denne:

("1"; "0"; "0"; ""; "a"; "p"; "p"; "l"; "e"; "s"; ""; ""; ""; " "…)

(ekstra poster i arrayet fjernet for læsbarhed)

Til denne matrix tilføjer vi nul. Dette er et simpelt trick, der tvinger Excel til at forsøge at tvinge tekst til et tal. Numeriske tekstværdier som "1", "2", "3", "4" osv. Konverteres, mens ikke-numeriske værdier fejler og kaster en #VALUE-fejl. Vi bruger IFERROR-funktionen til at fange disse fejl og returnere en tom streng (""), mens numeriske værdier passerer igennem i arrayet. Resultatet er en matrix, der kun indeholder tal og tomme strenge:

(1; 0; 0; ""; ""; ""; ""; ""; ….)

Endelig går dette array-resultat ind i TEXTJOIN-funktionen som text1- argumentet. Til afgrænsning bruger vi en tom streng ("") og for ignorere_forsøger leverer vi SAND. TEXTJOIN sammenkæder derefter alle ikke-tomme værdier i arrayet og returnerer resultatet.

Bemærk: TEXTJOIN returnerer tallene som tekst, for eksempel "100," 500 "osv. Hvis du vil have et ægte numerisk resultat, skal du tilføje nul eller indpakke hele formlen i VALUE-funktionen.

Interessante artikler...