
Bendroji formulė
=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),""))
Santrauka
Jei norite sutrumpinti tekstą, kuriame yra didžiosios raidės, galite išbandyti šią masyvo formulę, pagrįstą funkcija TEXTJOIN, naują funkciją, pasiekiamą „Office 365“ ir „Excel 2019“. Galite naudoti šį metodą, jei norite sukurti inicialus iš vardų arba sukurti akronimus. Ši formulė išliks tik didžiosiomis raidėmis, todėl šaltinio tekste turi būti didžiosios raidės. Jei reikia, žodžius galite rašyti didžiąja raide, naudodami funkciją PROPER.
Parodytame pavyzdyje formulė C5 yra:
=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),""))
Paaiškinimas
Dirbant iš vidaus, MID funkcija naudojama eilutei perkelti į atskirų raidžių masyvą:
MID(B5,ROW(INDIRECT("1:"&LEN(B5))),1)
Šioje formulės dalyje MID, ROW, INDIRECT ir LEN naudojami eilutei paversti masyvu ar raidėmis, kaip aprašyta čia.
MID pateikia visų teksto simbolių masyvą.
("W"; "i"; "l"; "l"; "i"; "a"; "m"; ""; "S"; "h"; "a"; "k"; "e ";" s ";" p ";" e ";" a ";" r ";" e ")
Šis masyvas įvedamas į funkciją CODE, kuri pateikia kiekvienos raidės skaitinių ascii kodų masyvą.
Atskirai ROW ir INDIRECT naudojami kuriant kitą skaitinį masyvą:
ROW(INDIRECT("65:90")
Tai yra protingas bitukas. Skaičiai nuo 65 iki 90 atitinka visų didžiųjų raidžių tarp AZ ascii kodus. Šis masyvas patenka į funkciją MATCH kaip paieškos masyvas, o pirminė ascii kodų masyvas pateikiamas kaip paieškos reikšmė.
Tada „MATCH“ pateikia skaičių (pagal poziciją) arba klaidą # N / A. Skaičiai žymi didžiąsias raides, todėl funkcija ISNUMBER naudojama kartu su IF funkcija norint filtruoti rezultatus. Tik simboliai, kurių ascii kodas yra nuo 65 iki 90, pateks į galutinį masyvą, kuris vėliau surenkamas su funkcija TEXTJOIN, kad būtų sukurta galutinė santrumpa ar akronimas.