Формула Excel: Скоротити імена чи слова -

Загальна формула

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

Резюме

Щоб скоротити текст, який містить великі літери, ви можете спробувати цю формулу масиву на основі функції TEXTJOIN, нової функції, доступної в Office 365 та Excel 2019. Цей підхід можна використовувати для створення ініціалів з імен або для створення скорочень. Тільки великі літери витримають цю формулу, тому вихідний текст повинен містити слова з великої літери. За потреби можна використовувати функцію PROPER для написання великих слів.

У наведеному прикладі формула в С5 має вигляд:

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

Пояснення

Функціонуючи зсередини назовні, функція MID використовується для перетворення рядка в масив окремих букв:

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

У цій частині формули MID, ROW, INDIRECT та LEN використовуються для перетворення рядка в масив або літери, як описано тут.

MID повертає масив усіх символів у тексті.

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

Цей масив подається у функцію CODE, яка виводить масив числових кодів ascii, по одному для кожної букви.

Окремо ROW та INDIRECT використовуються для створення іншого числового масиву:

ROW(INDIRECT("65:90")

Це розумна штука. Цифри від 65 до 90 відповідають кодам ascii для всіх великих літер між AZ. Цей масив переходить у функцію MATCH як масив підстановки, а оригінальний масив кодів ascii подається як значення підстановки.

Потім MATCH повертає або число (на основі позиції), або помилку # N / A. Цифри представляють великі літери, тому функція ISNUMBER використовується разом із функцією IF для фільтрування результатів. Тільки символи, код коду ascii яких становить від 65 до 90, потраплять у кінцевий масив, який потім збирається за допомогою функції TEXTJOIN для створення кінцевої абревіатури або абревіатури.

Хороші посилання

Отримати ініціали від імені (Chandoo)

Цікаві статті...