
Splošna formula
=TEXTJOIN("",1,IF(ISNUMBER(MATCH(CODE(MID(A1,ROW(INDIRECT("1:"&LEN(A1))),1)),ROW(INDIRECT("65:90")),0)),MID(A1,ROW(INDIRECT("1:"&LEN(A1))),1),""))
Povzetek
Če želite okrajšati besedilo, ki vsebuje velike črke, lahko preizkusite to matrično formulo, ki temelji na funkciji TEXTJOIN, novi funkciji, ki je na voljo v Office 365 in Excelu 2019. Ta pristop lahko uporabite za ustvarjanje začetnic iz imen ali za ustvarjanje kratic. To formulo bodo preživele samo velike črke, zato mora biti v izvornem besedilu vključena velika črka. S funkcijo PROPER lahko po potrebi uporabite velike črke.
V prikazanem primeru je formula v C5:
=TEXTJOIN("",1,IF(ISNUMBER(MATCH(CODE(MID(B5,ROW(INDIRECT("1:"&LEN(B5))),1)),ROW(INDIRECT("65:90")),0)),MID(B5,ROW(INDIRECT("1:"&LEN(B5))),1),""))
Pojasnilo
Funkcija MID, ki deluje od znotraj navzven, se uporablja za oddajanje niza v niz posameznih črk:
MID(B5,ROW(INDIRECT("1:"&LEN(B5))),1)
V tem delu formule se za pretvorbo niza v matriko ali črke, kot je opisano tukaj, uporabljajo MID, ROW, INDIRECT in LEN.
MID vrne polje vseh znakov v besedilu.
("W"; "i"; "l"; "l"; "i"; "a"; "m"; ""; "S"; "h"; "a"; "k"; "e ";" s ";" p ";" e ";" a ";" r ";" e ")
Ta matrika se poda v funkcijo CODE, ki prikaže matriko numeričnih ascii kod, po eno za vsako črko.
Ločeno se ROW in INDIRECT uporabljata za ustvarjanje drugega številskega polja:
ROW(INDIRECT("65:90")
To je bistroumno. Številke od 65 do 90 ustrezajo oznakam ascii za vse velike črke med AZ. Ta matrika gre v funkcijo MATCH kot iskalna matrika, izvirna matrika ascii kod pa je navedena kot vrednost iskanja.
Nato MATCH vrne številko (glede na položaj) ali napako # N / A. Številke predstavljajo velike črke, zato se funkcija ISNUMBER uporablja skupaj s funkcijo IF za filtriranje rezultatov. V končno matriko bodo vstopili samo znaki, katerih koda ascii je med 65 in 90, ki se nato ponovno sestavi s funkcijo TEXTJOIN, da ustvari končno okrajšavo ali kratico.