
Обща формула
=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 има вградена функция, наречена „Текст в колони“, която може да разделя текста в клетки с разделител по ваш избор. Ще намерите тази функция в раздела Данни на лентата в раздела Инструменти за данни.