Извлечь текст после символа для каждого вхождения в Excel

Вопрос или проблема

Я пытаюсь извлечь 4-значное число после символа «#».

Пример данных:

Столбец
Apple#1000Red Potato #2000Brown Laptop #3000 Black
Printer#4000White Table#5000
Sky #6000 Blue

Мне нужна формула, которая даст мне:

Столбец
1000,2000,3000
4000,5000
6000

Есть ли способ извлечь текст после символа, где в некоторых случаях имеется более одного символа?

Спасибо!

Вот один из способов получения нужного результата:

enter image description here


=TEXTJOIN(",",1,TEXTSPLIT(A1,VSTACK({" ","#"},CHAR(SEQUENCE(26)+{64,96})),,1))

Или добавьте вспомогательную функцию LAMBDA() для работы с массивами:

=MAP(A1:A3, LAMBDA(x, TEXTJOIN(",",1,TEXTSPLIT(x,VSTACK({" ","#"},CHAR(SEQUENCE(26)+{64,96})),,1))))

Или используйте REGEXEXTRACT()

=ARRAYTOTEXT(REGEXEXTRACT(A1,"(\d{4})",1))

Ответ или решение

Извлечение текста после символа в Excel является одной из распространенных задач, с которой сталкиваются пользователи для обработки данных. В данном случае требуется извлечение четырехзначных чисел, которые следуют за символом «#». Для решения этой задачи в Excel можно использовать несколько продвинутых функций и подходов, таких как текстовые функции, динамические массивы и регулярные выражения. Рассмотрим подробнее несколько возможных решений с примерами.

Теория

Извлечение данных после конкретного символа при помощи Excel требует понимания нескольких функций и формул. Основные подходы, которые могут быть применены, включают в себя использование:

  1. TEXTSPLIT и TEXTJOIN: Эти функции позволяют разделить текстовую строку на отдельные части и затем объединить некоторые из них обратно, используя выбранный разделитель.

  2. LAMBDA и MAP: Эти функции позволяют создавать настраиваемые формулы и применять их к массивам, что делает процесс более гибким и автоматическим.

  3. REGEXEXTRACT: С помощью регулярных выражений можно извлечь только те части текста, которые соответствуют заданным шаблонам, например, четырехзначные числа.

Каждый из этих методов имеет свои особенности и может использоваться в зависимости от версии Excel и конкретной задачи.

Пример

Предположим, у нас есть следующие данные в Excel, в столбце A:

A1: Apple#1000Red Potato #2000Brown Laptop #3000 Black
A2: Printer#4000White Table#5000
A3: Sky #6000 Blue

Требуется извлечь все четырехзначные числа после символа «#» для каждой строки.

Применение

  1. Используя TEXTJOIN и TEXTSPLIT:

    =TEXTJOIN(",",1,TEXTSPLIT(A1, VSTACK({" ","#"}, CHAR(SEQUENCE(26)+{64,96})), ,1))

    В данном случае функция TEXTSPLIT разделяет текстовую строку на части на основе символов пробела и решетки. TEXTJOIN затем объединяет только те части, которые соответствуют числам, разделяя их запятыми. Так как данные могут содержать разные строковые символы, CHAR(SEQUENCE(26)+{64,96}) используется для поддержки всех небольших и больших букв английского алфавита.

  2. Используя LAMBDA для применения ко всему диапазону:

    =MAP(A1:A3, LAMBDA(x, TEXTJOIN(",", 1, TEXTSPLIT(x, VSTACK({" ","#"}, CHAR(SEQUENCE(26)+{64,96})), ,1))))

    Здесь LAMBDA и MAP применяют предыдущую логику к каждому элементу диапазона A1:A3. Это делает формулу массивом, который способен динамически реагировать на изменения данных.

  3. Используя REGEXEXTRACT:

    =ARRAYTOTEXT(REGEXEXTRACT(A1, "(\d{4})", 1))

    REGEXEXTRACT — мощная функция для пользователей, которые желают извлечь текст, соответствующий определенному шаблону. В этом случае шаблон (\d{4}) извлекает каждое четырехзначное число. ARRAYTOTEXT преобразует результаты в массив.

Эти функции предоставляют гибкость и набор инструментов для выполнения сложных задач по извлечению в Excel. Использование регулярных выражений может потребовать добавления надстроек или использования Google Sheets, где такие функции встроены по умолчанию.

Заключение

Извлечение текста после заданного символа в Excel требует умения работать с текстовыми функциями и массивами. Подходы, которые включают использование TEXTSPLIT, TEXTJOIN, LAMBDA, MAP и REGEXEXTRACT, предлагают разнообразные способы решения. Выбор конкретного метода зависит от версии Excel, доступных функций и предпочитаемого уровня автоматизации. Независимо от сложности задачи, используя данные методы, можно достичь высокой эффективности и точности при обработке текста в ваших рабочих книгах Excel.

Оцените материал
Добавить комментарий

Капча загружается...