Формула на 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, за да пишете главни думи, ако е необходимо.

В показания пример формулата в 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),""))

Обяснение

Работейки отвътре навън, функцията 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)

Интересни статии...