
Üldine valem
(=TEXTJOIN("",TRUE,IFERROR(MID(A1,ROW(INDIRECT("1:100")),1)+0,"")))
Kokkuvõte
Mittearvuliste tähemärkide eemaldamiseks tekstistringist võite proovida seda katselist valemit, mis põhineb funktsioonil TEXTJOIN, mis on uus funktsioon Excelis 2019. Näidatud näites on valem C5-s järgmine:
(=TEXTJOIN("",TRUE,IFERROR(MID(B5,ROW(INDIRECT("1:100")),1)+0,"")))
Märkus: see on massiivi valem ja see tuleb sisestada juhtklahviga + shift + enter.
Selgitus
Seestpoolt töötades kasutatakse M5-valemit B5-s oleva teksti eraldamiseks üks märk korraga.
Võti on rida / kaudne tükk:
ROW(INDIRECT("1:100"))
mis keerutab üles massiivi, mis sisaldab 100 sellist numbrit:
(1,2,3,4,5,6,7,8…, 99,100)
Märkus: 100 tähistab maksimaalselt tähemärke töödeldavaks. Muutke oma andmetele vastavaks.
See massiiv läheb funktsiooni MID kui argument algus_arv . Sest märkide_arv , me kasutame 1.
Funktsioon MID tagastab sellise massiivi:
("1"; "0"; "0"; ""; "a"; "p"; "p"; "l"; "e"; "s"; ""; ""; ""; " "…)
(massiivist eemaldati loetavuse jaoks täiendavad üksused)
Sellele massiivile lisame nulli. See on lihtne trikk, mis sunnib Exceli teksti numbri järgi sundima. Numbrilised tekstiväärtused, nagu "1", "2", "3", "4" jne, teisendatakse, samas kui mittearvulised väärtused ebaõnnestuvad ja viskavad tõrke #VALUE. Nende vigade tabamiseks ja tühja stringi ("") tagastamiseks kasutame funktsiooni IFERROR, samal ajal kui arvväärtused läbivad massiivi. Tulemuseks on massiiv, mis sisaldab ainult numbreid ja tühje stringe:
(1; 0; 0; ""; ""; ""; ""; ""; ….)
Lõpuks läheb see massiivi tulemus funktsiooni TEXTJOIN argumendina text1 . Sest eraldaja , mida me kasutame tühi string ( "") ja ignore_empty pakume tõsi. Seejärel liidab TEXTJOIN kõik massiivi mittetühjad väärtused ja tagastab tulemuse.
Märkus. TEXTJOIN tagastab numbrid tekstina, näiteks "100," 500 "jne. Kui soovite tõelist numbrilist tulemust, lisage null või mässige kogu valem funktsiooni VALUE.