Excel formel: Forkort navn eller ord -

Indholdsfortegnelse

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),""))

Resumé

For at forkorte tekst, der indeholder store bogstaver, kan du prøve denne matrixformel baseret på TEXTJOIN-funktionen, en ny funktion tilgængelig i Office 365 og Excel 2019. Du kan bruge denne fremgangsmåde til at oprette initialer fra navne eller til at oprette akronymer. Kun store bogstaver overlever denne formel, så kildeteksten skal indeholde store bogstaver. Du kan bruge PROPER-funktionen til at bruge store bogstaver, hvis det er nødvendigt.

I det viste eksempel er formlen 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

Arbejder indefra og ud, bruges MID-funktionen til at kaste strengen i en række individuelle bogstaver:

MID(B5,ROW(INDIRECT("1:"&LEN(B5))),1)

I denne del af formlen bruges MID, ROW, INDIRECT og LEN til at konvertere en streng til et array eller bogstaver som beskrevet her.

MID returnerer en matrix med alle tegn i teksten.

("W"; "i"; "l"; "l"; "i"; "a"; "m"; ""; "S"; "h"; "a"; "k"; "e ";" s ";" p ";" e ";" a ";" r ";" e ")

Denne matrix tilføres CODE-funktionen, som udsender en matrix med numeriske ascii-koder, en for hvert bogstav.

Separat bruges ROW og INDIRECT til at oprette et andet numerisk array:

ROW(INDIRECT("65:90")

Dette er den kloge bit. Tallene 65 til 90 svarer til ascii-koder for alle store bogstaver mellem AZ. Denne matrix går ind i MATCH-funktionen som opslagsarray, og den oprindelige matrix af ascii-koder angives som opslagsværdien.

MATCH returnerer derefter enten et tal (baseret på en position) eller fejlen # N / A. Tal repræsenterer store bogstaver, så ISNUMBER-funktionen bruges sammen med IF-funktionen til at filtrere resultater. Kun tegn, hvis ascii-kode er mellem 65 og 90, bliver til det endelige array, som derefter samles igen med TEXTJOIN-funktionen for at oprette den endelige forkortelse eller akronym.

Gode ​​links

Få initialer fra navn (Chandoo)

Interessante artikler...