
Yleinen kaava
(=TEXTJOIN("",TRUE,IFERROR(MID(A1,ROW(INDIRECT("1:100")),1)+0,"")))
Yhteenveto
Jos haluat poistaa ei-numeerisia merkkejä tekstimerkkijonosta, voit kokeilla tätä kokeellista kaavaa, joka perustuu TEXTJOIN-funktioon, joka on uusi toiminto Excel 2019: ssä.
(=TEXTJOIN("",TRUE,IFERROR(MID(B5,ROW(INDIRECT("1:100")),1)+0,"")))
Huomaa: tämä on matriisikaava ja se on syötettävä näppäimillä + + shift + enter.
Selitys
Sisältäpäin työskentelemällä MID-kaavaa käytetään B5: n tekstin purkamiseen, yksi merkki kerrallaan.
Avain on RIVI / EPÄSUORA pala:
ROW(INDIRECT("1:100"))
joka pyörittää matriisia, joka sisältää 100 numeroa näin:
(1,2,3,4,5,6,7,8… .99,100)
Huomaa: 100 edustaa käsiteltävien merkkien enimmäismäärää. Muuta tietojen mukaan.
Tämä taulukko menee MID-funktioon start_num- argumenttina. Sillä merkkimäärä käytämme 1.
MID-funktio palauttaa seuraavanlaisen taulukon:
("1"; "0"; "0"; ""; "a"; "p"; "p"; "l"; "e"; "s"; ""; ""; ""; " "…)
(taulukon ylimääräiset kohteet on poistettu luettavuuden vuoksi)
Tähän ryhmään lisätään nolla. Tämä on yksinkertainen temppu, joka pakottaa Excelin yrittämään pakottaa tekstin numeroksi. Numeeriset tekstiarvot, kuten "1", "2", "3", "4" jne. Muunnetaan, kun taas muut kuin numeeriset arvot epäonnistuvat ja heittävät #ARVO-virheen. Käytämme IFERROR-toimintoa näiden virheiden havaitsemiseen ja palautamme tyhjän merkkijonon (""), kun taas numeeriset arvot kulkevat taulukon läpi. Tuloksena on taulukko, joka sisältää vain numeroita ja tyhjiä merkkijonoja:
(1; 0; 0; ""; ""; ""; ""; "";….)
Lopuksi, tämä joukko tulos menee TEXTJOIN toiminto kuin text1 argumentti. Sillä erotinmerkki käytämme tyhjän merkkijonon ( "") ja ignore_empty toimitamme TOSI. TEXTJOIN yhdistää sitten kaikki taulukon tyhjät arvot ja palauttaa tuloksen.
Huomaa: TEXTJOIN palauttaa numerot tekstinä, esimerkiksi "100," 500 "jne. Jos haluat todellisen numeerisen tuloksen, lisää nolla tai kääri koko kaava VALUE-funktioon.