Excel képlet: Nem numerikus karakterek csíkolása -

Általános képlet

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

Összegzés

Ha nem numerikus karaktereket szeretne eltávolítani egy szöveges karakterláncból, akkor kipróbálhatja ezt a kísérleti képletet a TEXTJOIN függvény alapján, amely az Excel 2019 új funkciója. A bemutatott példában a C5 képlete a következő:

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

Megjegyzés: ez egy tömbképlet, amelyet a control + shift + enter billentyűkombinációval kell megadni.

Magyarázat

Belülről kifelé haladva a MID képletet használjuk a B5-ös szöveg kivonására, egy-egy karakterrel. A kulcs a ROW / INDIRECT darab:

ROW(INDIRECT("1:100"))

amely felpörget egy 100 ilyen számot tartalmazó tömböt:

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

Megjegyzés: 100 a maximálisan feldolgozható karakterek száma. Változtassa meg az adatait.

Ez a tömb a MID függvénybe kerül mint start_num argumentum. A num_chars esetében az 1-et használjuk.

A MID függvény egy ilyen tömböt ad vissza:

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

(a tömbben lévő extra elemek eltávolíthatók az olvashatóság érdekében)

Ehhez a tömbhöz nullát adunk. Ez egy egyszerű trükk, amely arra kényszeríti az Excel-t, hogy megpróbálja a szöveget számra kényszeríteni. A numerikus szöveges értékeket, például az "1", "2", "3", "4" stb. Konvertálják, míg a nem numerikus értékek nem sikerülnek és #VALUE hibát dobnak. Az IFERROR függvény segítségével elkapjuk ezeket a hibákat és egy üres karakterláncot ("") adunk vissza, miközben a numerikus értékek átjutnak a tömbbe. Az eredmény egy tömb, amely csak számokat és üres karakterláncokat tartalmaz:

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

Végül ez a tömb eredménye a TEXTJOIN függvénybe kerül text1 argumentumként. A határolóhoz egy üres karakterláncot ("") használunk , az ignore_empty esetében pedig az IGAZ értéket. Ezután a TEXTJOIN összefűzi a tömb összes nem üres értékét, és visszaadja az eredményt.

Megjegyzés: A TEXTJOIN a számokat szövegként adja vissza, például "100", "500" stb. Ha igaz numerikus eredményt szeretne, adjon hozzá nulla értéket, vagy csomagolja be a teljes képletet az VALUE függvénybe.

érdekes cikkek...