0Pricing
Excel Formulas Academy · Урок

Извлечение шаблонов с помощью REGEXEXTRACT

Извлекайте часть строки, соответствующую шаблону.

«Извлечение шаблонов с помощью REGEXEXTRACT» — бесплатный урок Excel Formulas Academy на CoddyKit. Это урок 2 из 4. Ты можешь прочитать весь урок бесплатно ниже — а потом практиковать его прямо в браузере с встроенным редактором кода и ИИ-репетитором 24/7. Это часть пути обучения Excel Formulas Academy, и твой прогресс синхронизируется между веб-версией и приложением CoddyKit. Курс Excel Formulas Academy содержит 4 уроков всего.

От «да/нет» к извлечению совпадения

REGEXMATCH сообщает, есть ли в тексте заданный шаблон. Часто требуется получить сам найденный текст — например, число из Order #4821 или домен из адреса электронной почты.

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

Это ещё одна функция Google Таблиц. Это один из самых удобных способов извлекать структурированные фрагменты из неаккуратных импортированных данных.

Синтаксис REGEXEXTRACT

REGEXEXTRACT(text, pattern) возвращает первую подстроку из text, соответствующую pattern.

Если совпадений нет, функция возвращает ошибку #N/A, а не пустое значение — это важно помнить.

Формула ниже извлекает первую последовательность цифр из A2. Для Order 4821 она возвращает 4821.

=REGEXEXTRACT(A2, "\d+")

Результат — текст, а не число

REGEXEXTRACT всегда возвращает текст, даже если найденные символы являются цифрами. Поэтому 4821 возвращается как текстовая строка, а не как число, которое можно складывать.

Чтобы преобразовать результат в настоящее число, оберните его в VALUE. Приведённая ниже формула извлекает цифры и преобразует их, чтобы с результатом можно было выполнять математические операции.

=VALUE(REGEXEXTRACT(A2, "\d+"))

Извлечение букв или кодов

Шаблоны предназначены не только для цифр. Чтобы извлечь префикс из прописных букв, используйте класс с квантификатором.

Приведённая ниже формула извлекает начальные буквы из кода вроде INV2024 и возвращает INV. [A-Z]+ означает одну или несколько идущих подряд прописных букв.

=REGEXEXTRACT(A2, "[A-Z]+")

Рабочий пример: разделение кода товара

Предположим, в A2 находится SKU-4821-RED, а вам нужна только числовая часть посередине. Её расположение можно описать с помощью окружающего контекста внутри шаблона.

Формула ниже ищет цифры между двумя дефисами и возвращает 4821. Буквальные дефисы направляют механизм к нужной последовательности цифр.

=REGEXEXTRACT(A2, "-(\d+)-")

Захватывающие группы возвращают только нужную часть

Обратите внимание на круглые скобки в последней формуле: (\d+). Это захватывающая группа.

Когда шаблон содержит захватывающую группу, REGEXEXTRACT возвращает только содержимое круглых скобок, а не совпадение целиком. Поэтому -(\d+)- возвращает 4821, отбрасывая дефисы.

Захватывающие группы позволяют сопоставлять окружающий контекст для повышения точности и при этом извлекать только нужный фрагмент.

=REGEXEXTRACT(A2, "-(\d+)-")

Практический пример: извлечение домена электронной почты

Из sam@coddykit.com нужно получить домен coddykit.com. Сопоставьте @, затем захватите всё после него до конца.

Формула ниже возвращает часть A2, расположенную после символа «@». (.+) захватывает один или несколько любых символов, а $ привязывает совпадение к концу строки.

=REGEXEXTRACT(A2, "@(.+)$")

Якоря делают извлечение точным

Якоря помогают извлекать фрагмент из известной позиции. Чтобы захватить только первое слово, привяжите шаблон к началу и остановите его на первом пробеле.

Формула ниже захватывает начальные символы A2, не являющиеся пробелами. Для John Smith она возвращает John. [^ ]+ означает один или несколько символов, не являющихся пробелом.

=REGEXEXTRACT(A2, "^([^ ]+)")

Защита от отсутствия совпадения

Поскольку неудачное извлечение вызывает #N/A, протягивание формулы вниз по столбцу со смешанными данными может усеять таблицу ошибками.

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

=IFERROR(REGEXEXTRACT(A2, "\d+"), "")

Извлечение с использованием альтернатив

Вертикальная черта | означает «или». Она позволяет одному шаблону сопоставлять несколько вариантов. Это особенно удобно, когда код может начинаться с разных префиксов.

Формула ниже извлекает слово, обозначающее статус, из A2: OPEN, CLOSED или HOLD. Возвращается первый найденный вариант.

=REGEXEXTRACT(A2, "OPEN|CLOSED|HOLD")

Массовое извлечение из столбца

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

Представьте, что в столбце A находятся строки заказов вроде Order 4821 - shipped. Формула ниже, протянутая вниз по столбцу B, извлекает только номер заказа из каждой строки, превращая неаккуратный исходный текст в аккуратный столбец, похожий на числовой.

=REGEXEXTRACT(A2, "Order (\d+)")

Быстрая проверка

Проверьте, что Вы знаете об извлечении совпадений.

Итоги: извлечение совпавшей части

Вы узнали, что REGEXEXTRACT(text, pattern) возвращает первую совпавшую подстроку в Google Таблицах. Основные выводы:

  • Результат всегда является текстом; для получения чисел оберните его в VALUE
  • Захватывающие группы в круглых скобках возвращают только внутренний фрагмент
  • При отсутствии совпадения возвращается #N/A, поэтому используйте IFERROR
  • | позволяет одному шаблону сопоставлять несколько вариантов

Далее Вы выйдете за рамки чтения и начнёте изменять текст непосредственно с помощью REGEXREPLACE.

Часто задаваемые вопросы

Урок «Извлечение шаблонов с помощью REGEXEXTRACT» бесплатный?

Да — полный текст урока «Извлечение шаблонов с помощью REGEXEXTRACT» бесплатно доступен здесь в веб-версии. Чтобы практиковать его интерактивно (встроенный редактор кода и ИИ-репетитор 24/7) и разблокировать остальной курс Excel Formulas Academy, подпишись на CoddyKit PRO. Курс Excel Formulas Academy содержит 4 уроков всего.

Чему я научусь в уроке «Извлечение шаблонов с помощью REGEXEXTRACT»?

Извлекайте часть строки, соответствующую шаблону. Ты практикуешь Excel Formulas Academy с помощью реального кода, который запускаешь прямо в браузере, и ИИ-репетитор 24/7 отвечает на твои вопросы во время урока.

Нужен ли мне опыт, чтобы начать Excel Formulas Academy?

Предыдущий опыт не требуется. Excel Formulas Academy на CoddyKit структурирован для всех уровней — от новичков до продвинутых, поэтому ты можешь начать отсюда или с самого начала и учиться в своем темпе. Это урок 2 из 4.

Сколько времени занимает урок «Извлечение шаблонов с помощью REGEXEXTRACT»?

Большинство уроков CoddyKit занимают около 5–10 минут. Каждый из них компактный и интерактивный, поэтому ты постоянно делаешь прогресс и продолжаешь с того же места в веб-версии и приложении.

Можно ли писать и запускать код в этом уроке Excel Formulas Academy?

Да. Каждый урок Excel Formulas Academy включает встроенный редактор кода, поэтому ты пишешь и запускаешь реальный код прямо в браузере и получаешь моментальную обратную связь от AI — локальная установка не требуется.

Все уроки этого курса

  1. Проверка шаблонов с помощью REGEXMATCH
  2. Извлечение шаблонов с помощью REGEXEXTRACT
  3. Замена шаблонов с помощью REGEXREPLACE
  4. Разделение и очистка неструктурированных данных
← Назад к Excel Formulas Academy