Vzorec programu Excel: Odstráňte nečíselné znaky -

Všeobecný vzorec

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

Zhrnutie

Ak chcete z textového reťazca odstrániť nečíselné znaky, môžete vyskúšať tento experimentálny vzorec založený na funkcii TEXTJOIN, novej funkcii v programe Excel 2019. V zobrazenom príklade je vzorec v C5:

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

Poznámka: toto je vzorec poľa a musí sa zadávať pomocou klávesov Control + Shift + Enter.

Vysvetlenie

Pri postupe zvnútra von sa vzorec MID používa na extrakciu textu v kóde B5 po jednom znaku. Kľúč je kus ROW / INDIRECT:

ROW(INDIRECT("1:100"))

ktorý roztáča pole obsahujúce 100 čísel, ako je tento:

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

Poznámka: 100 predstavuje maximálny počet znakov na spracovanie. Zmeňte ich tak, aby vyhovovali vašim údajom.

Toto pole vstupuje do funkcie MID ako argument start_num . Pre num_chars používame 1.

Funkcia MID vráti pole podobné tomuto:

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

(ďalšie položky v poli boli odstránené kvôli čitateľnosti)

Do tohto poľa pridáme nulu. Toto je jednoduchý trik, ktorý núti Excel, aby sa pokúsil prinútiť text k číslu. Konvertujú sa číselné textové hodnoty ako „1“, „2“, „3“, „4“ atď., Zatiaľ čo nečíselné hodnoty zlyhajú a vyvolá chybu #HODNOTA. Pomocou funkcie IFERROR tieto chyby zachytíme a vrátime prázdny reťazec (""), zatiaľ čo číselné hodnoty prechádzajú do poľa. Výsledkom je pole, ktoré obsahuje iba čísla a prázdne reťazce:

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

Nakoniec tento výsledok poľa prejde do funkcie TEXTJOIN ako argument text1 . Pre oddeľovač používame prázdny reťazec ("") a pre ignore_empty dodávame TRUE. TEXTJOIN potom zreťazí všetky neprázdne hodnoty v poli a vráti výsledok.

Poznámka: Funkcia TEXTJOIN vráti čísla ako text, napríklad „100,“ 500 atď. Ak chcete mať skutočný číselný výsledok, pridajte nulu alebo zabaľte celý vzorec do funkcie HODNOTA.

Zaujímavé články...