
Generisk formel
=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),""))
Sammendrag
For å forkorte tekst som inneholder store bokstaver, kan du prøve denne matriseformelen basert på TEXTJOIN-funksjonen, en ny funksjon som er tilgjengelig i Office 365 og Excel 2019. Du kan bruke denne tilnærmingen til å lage initialer fra navn, eller til å lage akronymer. Bare store bokstaver vil overleve denne formelen, så kildeteksten må inneholde store bokstaver. Du kan bruke PROPER-funksjonen til å bruke store bokstaver om nødvendig.
I eksemplet vist er formelen i 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),""))
Forklaring
MID-funksjonen fungerer fra innsiden og ut og brukes til å kaste strengen i en rekke individuelle bokstaver:
MID(B5,ROW(INDIRECT("1:"&LEN(B5))),1)
I denne delen av formelen brukes MID, ROW, INDIRECT og LEN til å konvertere en streng til en matrise eller bokstaver, som beskrevet her.
MID returnerer en matrise med alle tegn i teksten.
("W"; "i"; "l"; "l"; "i"; "a"; "m"; ""; "S"; "h"; "a"; "k"; "e ";" s ";" p ";" e ";" a ";" r ";" e ")
Denne matingen mates inn i KODE-funksjonen, som sender ut en matrise med numeriske ascii-koder, en for hver bokstav.
Separat brukes ROW og INDIRECT til å lage en annen numerisk matrise:
ROW(INDIRECT("65:90")
Dette er den smarte biten. Tallene 65 til 90 tilsvarer ascii-kodene for alle store bokstaver mellom AZ. Denne matrisen går inn i MATCH-funksjonen som oppslagsmatrisen, og den opprinnelige matrisen med ascii-koder er gitt som oppslagsverdien.
MATCH returnerer deretter enten et tall (basert på en posisjon) eller feilen # N / A. Tall representerer store bokstaver, så ISNUMBER-funksjonen brukes sammen med IF-funksjonen for å filtrere resultatene. Bare tegn hvis ascii-kode er mellom 65 og 90, blir til den endelige matrisen, som deretter samles på nytt med TEXTJOIN-funksjonen for å lage den endelige forkortelsen eller akronymet.