Excel-ova formula: odstrani številčne znake -

Splošna formula

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

Povzetek

Če želite iz besedilnega niza odstraniti neštevilske znake, lahko preizkusite to eksperimentalno formulo, ki temelji na funkciji TEXTJOIN, novi funkciji v Excelu 2019. V prikazanem primeru je formula v C5:

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

Opomba: to je matrična formula, ki jo je treba vnesti s tipko control + shift + enter.

Pojasnilo

Formula MID, ki deluje od znotraj navzven, se uporablja za izvlečenje besedila v B5, po en znak. Ključ je RED / POSREDNI kos:

ROW(INDIRECT("1:100"))

ki vrti matriko, ki vsebuje 100 številk, kot je ta:

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

Opomba: 100 predstavlja največje število znakov za obdelavo. Spremenite, da ustreza vašim podatkom.

Ta matrika gre v funkcijo MID kot argument start_num . Za num_chars uporabljamo 1.

Funkcija MID vrne matriko, kot je ta:

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

(dodatni elementi v polju so odstranjeni zaradi berljivosti)

Temu polju dodamo ničlo. To je preprost trik, ki prisili Excel, da poskuša besedilo prisiliti na številko. Številske besedilne vrednosti, kot so "1", "2", "3", "4" itd., Se pretvorijo, medtem ko numerične vrednosti ne uspejo in vrnejo napako #VALUE. S funkcijo IFERROR lovimo te napake in vrnemo prazen niz (""), medtem ko številske vrednosti prehajajo v matriko. Rezultat je matrika, ki vsebuje samo številke in prazne nize:

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

Končno ta rezultat matrike preide v funkcijo TEXTJOIN kot argument text1 . Za ločilo uporabljamo prazen niz (""), za ignore_empty pa TRUE. Nato TEXTJOIN združi vse neprazne vrednosti v matriki in vrne rezultat.

Opomba: TEXTJOIN bo vrnil številke kot besedilo, na primer "100," 500 "itd. Če želite resničen številski rezultat, dodajte ničlo ali zavijte celotno formulo v funkcijo VALUE.

Zanimive Članki...