Formuła programu Excel: Skróć nazwy lub słowa -

Formuła ogólna

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

Podsumowanie

Aby skrócić tekst, który zawiera duże litery, możesz wypróbować tę formułę tablicową opartą na funkcji TEXTJOIN, nowej funkcji dostępnej w Office 365 i Excel 2019. Możesz użyć tego podejścia do tworzenia inicjałów z nazw lub do tworzenia akronimów. Formułę tę zachowują tylko wielkie litery, więc tekst źródłowy musi zawierać słowa pisane wielką literą. W razie potrzeby możesz użyć funkcji WŁAŚCIWE, aby napisać wielkie litery.

W przedstawionym przykładzie formuła w C5 to:

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

Wyjaśnienie

Działając od wewnątrz, funkcja MID służy do rzutowania ciągu na tablicę pojedynczych liter:

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

W tej części formuły MID, ROW, INDIRECT i LEN są używane do konwersji ciągu znaków na tablicę lub litery, jak opisano tutaj.

MID zwraca tablicę wszystkich znaków w tekście.

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

Ta tablica jest przekazywana do funkcji CODE, która wyprowadza tablicę numerycznych kodów ASCII, po jednym dla każdej litery.

Osobno ROW i INDIRECT służą do tworzenia kolejnej tablicy liczbowej:

ROW(INDIRECT("65:90")

To jest sprytny kawałek. Cyfry od 65 do 90 odpowiadają kodom ascii dla wszystkich wielkich liter między AZ. Ta tablica przechodzi do funkcji MATCH jako tablica wyszukiwania, a oryginalna tablica kodów ascii jest dostarczana jako wartość wyszukiwania.

Następnie PODAJ.POZYCJĘ zwraca liczbę (na podstawie pozycji) lub błąd # N / D. Liczby reprezentują wielkie litery, dlatego funkcja ISNUMBER jest używana razem z funkcją JEŻELI do filtrowania wyników. Tylko znaki, których kod ascii zawiera się w przedziale od 65 do 90, zostaną umieszczone w ostatecznej tablicy, która jest następnie składana ponownie za pomocą funkcji TEXTJOIN, aby utworzyć ostateczny skrót lub akronim.

Dobre linki

Zdobądź inicjały od imienia (Chandoo)

Interesujące artykuły...