Формула на Excel: Разделен текст с разделител -

Обща формула

=TRIM(MID(SUBSTITUTE(A1,delim,REPT(" ",LEN(A1))),(N-1)*LEN(A1)+1,LEN(A1)))

Обобщение

За да разделите текст на произволен разделител (запетая, интервал, контур и т.н.), можете да използвате формула, базирана на функциите TRIM, MID, SUBSTITUTE, REPT и LEN. В показания пример формулата в C5 е:

=TRIM(MID(SUBSTITUTE($B5,"|",REPT(" ",LEN($B5))),(C$4-1)*LEN($B5)+1,LEN($B5)))

Забележка: препратките към B5 и C4 са смесени препратки, за да позволят формулата да се копира отдолу и надолу.

Обяснение

Същността на тази формула е да замени даден разделител с голям брой интервали, като използва SUBSTITUTE и REPT, след което използва функцията MID за извличане на текст, свързан с "n-тото появяване" и функцията TRIM, за да се отърве от излишното пространство.

В този фрагмент разделителят (разделител) се заменя с брой интервали, равни на общата дължина на низа:

SUBSTITUTE(A1,delim,REPT(" ",LEN(A1)))

Тогава формулата използва функцията MID за извличане на n-ия подниз. Началната точка се изчислява с кода по-долу, където N представлява "n-та":

(N-1)*LEN(A1)+1

Общият брой на извлечените символи е равен на дължината на пълния текстов низ. След това функцията TRIM премахва всички излишни интервали и връща само n-тия низ.

Извлечете само един екземпляр

Въпреки че примерът е настроен да извлича 5 подниза от текста в колона Б, можете лесно да извлечете само 1 екземпляр. Например, за да извлечете само 4-ти елемент (град), можете да използвате:

=TRIM(MID(SUBSTITUTE(B5,"|",REPT(" ",LEN(B5))),(4-1)*LEN(B5)+1,LEN(B5)))

Функция за текст в колони

За ръчни еднократни преобразувания Excel има вградена функция, наречена „Текст в колони“, която може да разделя текста в клетки с разделител по ваш избор. Ще намерите тази функция в раздела Данни на лентата в раздела Инструменти за данни.

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