Когда требуется разделить содержимое ячейки можно использовать метод разбиения текста с помощью функций ЛЕВСИМВ, ПРАВСИМВ и НАЙТИ. Сочетание функций позволяет получить желаемое количество символов от начала или конца любого текстового значения.
Но... знаете ли вы, что благодаря функции FILTERXML так же можно разделить содержимое ячейки или извлечь определенное слово?!
📢 Файл с примером размещен в конце статьи 🔽
🔔 В данном примере будем использовать встроенные функции: ТРАНСП, ФИЛЬТР.XML и ПОДСТАВИТЬ
🔘 Функция ТРАНСП
🔘 Функция ФИЛЬТР.XML
🔘 Функция ПОДСТАВИТЬ
▶️ Возврат всех элементов
Использование перечисленных выше функций позволит разделить текст на отдельные ячейки:
📝 Пояснение к формуле:
- Используя функцию ПОДСТАВИТЬ заменяем пробелы в ячейке A1 на </s><s>, чтобы преобразовать строку в XML-формат;
- Используя функцию ФИЛЬТР.XML, разбираем полученную строку XML и извлекаем значения, находящиеся между тегами <s>;
- (ФИЛЬТР.XML("<t><s>" & ПОДСТАВИТЬ( A1;" ";"</s><s>")&"</s></t>";"//s") возвращает массив значений, где //s фильтр извлекает каждый из элементов, заключенных в s-теги, а & используется для объединения текста;
- Функция ТРАНСП меняет ориентацию массива значений.
🔔 Обращаем внимание! Приведенная формула является формулой массива. Формулу необходимо вводить используя сочетание:
▶️ Возврат i-го элемента в s-теге
Чтобы извлечь определенное слово потребуется немного изменить приведенную выше формулу
🔔 Аналогично, приведенной выше формуле используем фильтр //s[i] для возврата i элемента в s-теге. Если:
- //s[1] - фильтр вернет только 1-й элемент в s-теге (получаем только Фамилию):
- //s[2] - фильтр вернет только 2-й элемент в s-теге (получаем только Имя):
- //s[3] - фильтр вернет только 3-й элемент в s-теге (получаем только Отчество):
См. так же другие способы: Как разделить текст по столбцам 🔽
🙌 Оставайся с нами на связи и узнавай больше о других методах и приемах работы в Excel:
⏩ СКАЧАТЬ ПРИМЕР