Встроенные функции Excel не всегда позволяют легко и эффективно извлекать текст, находящийся между различными символами. Их сочетание может быть сложным, особенно при наличии множества различных разделителей.
В данном обзоре представлена пользовательская функция, которая упрощает задачу, автоматически определяя разделители и извлекая текст между ними 😉.
📢 Файл с примером размещен в конце статьи 🔽
▶️ Применение встроенных функций
Для извлечение текста из середины текстовой строки можно использовать сочетание встроенных функций таких как:
- ЗАМЕНИТЬ
- ДЛСТР
Например,
Но, рассмотренный подход усложняется тем, что следует учитывать символы между которыми находится извлекаемый текст.
Упростить задачу пользователя поможет использование пользовательской функции.
▶️ Как извлечь текст между символами
Представленная функция предназначена для извлечения текста, находящегося между двумя любыми символами из заданного набора разделителей.
где fromthis: Диапазон ячейки, из которой необходимо извлечь текст.
▶️ Описание функции
- Определение разделителей: задан набор символов, которые рассматриваются как разделители: /, :, *, ?, ®, %, <, >, |, ., &, @, #, (, _, +, `` , ©, ~, ), ;, -, +, =, ^, $, !, ,, '`. Пробел не включается в набор разделителей.
- Поиск первого разделителя: функция проходит по каждому символу в содержимом ячейки и находит первый символ, который присутствует в строке разделителей.
- Поиск второго разделителя: после нахождения первого разделителя функция продолжает поиск второго разделителя, начиная с позиции следующего символа.
- Извлечение текста между разделителями: после нахождения второго разделителя функция извлекает текст, находящийся между первым и вторым разделителями.
- Удаление пробелов: пробелы в начале и в конце извлеченного текста автоматически удаляются.
- Результат: извлеченный текст возвращается в качестве результата функции.
▶️ Ограничения
- Функция извлекает текст между первым и вторым встреченными разделителями из заданного набора.
- Если второй разделитель не найден после первого, функция вернет пустую строку.
Функция будет полезна для автоматизации задач по извлечению текста из ячеек, особенно когда текст окружен различными символами-разделителями.
😎 Примечание автора: В зависимости от условий поставленной задачи, чтобы снять ограничение возврата пустой строки следует добавить требуемое условие.
Например, если второй разделитель не найден, функция возвращает весь текст, находящийся:
- после первого разделителя;
- до первого разделителя.
В целях оптимизации решения можно добавить опционный агрумент, который определит необходимое поведение.
Например,
Behavior (опционально): Целое число, определяющее поведение функции при отсутствии второго разделителя:
- -1: возвращает весь текст до первого разделителя.
- 1: Возвращает весь текст после первого разделителя.
- 0 или не указан: Возвращает пустую строку по умолчанию.
С помощью дополнительного аргумента функция позволит более гибко обрабатывать текстовые данные и управлять результатом при отсутствии второго разделителя.
🔶 Узнать о других способах и приемах работы с текстом в Excel можно найти в наших предыдущих обзорах 🔽
🙌 Оставайся с нами на связи и узнавай больше о других методах и приемах работы в Excel:
✅ СКАЧАТЬ ПРИМЕР 🔽