Работа с текстовыми данными в таблицах часто требует «хирургической» точности — например, когда нужно отделить название организации от номера, который следует за ним. Предположим, у вас есть запись вроде Клуб_Футбола_123
или ТеннисныйКлуб_45
, и вам нужно извлечь только название, обрезав цифры. Для этого сначала необходимо найти позицию первого числа в строке, а затем использовать её для разделения текста.
К счастью, Google Таблицы предлагают гибкие инструменты для решения этой задачи, включая комбинации функций и регулярных выражений. Давайте разберёмся, как это работает на практике, и заодно рассмотрим нюансы, которые помогут избежать ошибок.
Как определить позицию числа в строке: два подхода
Основная идея — найти место, где начинаются цифры, и использовать эту информацию для извлечения текста. Самый надёжный способ — использовать регулярные выражения.
Шаг 1: Извлечение первой цифры
Функция REGEXEXTRACT
позволяет «вытянуть» из строки символы, соответствующие шаблону. Для поиска цифр используется шаблон d
, который соответствует любой цифре от 0 до 9. Например:
=REGEXEXTRACT(A1; "d")
Эта формула вернёт первую цифру из ячейки A1. Если в строке нет чисел, результат будет ошибкой #N/A
— об этом позже.
Шаг 2: Определение позиции цифры
Теперь, когда мы знаем саму цифру, используем функцию FIND
, чтобы найти её позицию в исходной строке:
=FIND(REGEXEXTRACT(A1; "d"); A1)
Например, для строки «Клуб_Футбола_123»
формула вернёт число 14 — позицию символа «1».

Важные нюансы:
- Если в строке несколько цифр,
REGEXEXTRACT
извлечёт только первую. - Формула чувствительна к регистру символов, но для цифр это не критично.
- Если цифр нет, возникнет ошибка. Чтобы её обработать, можно добавить условие:
=IFERROR(FIND(REGEXEXTRACT(A1; "d"); A1; "Число не найдено")
Дополнительные методы и советы
Иногда в данных встречаются номера из нескольких цифр (например, «Клуб25»
вместо «Клуб_25»
). В этом случае описанный метод всё равно сработает, так как FIND
определит позицию первой цифры. Но если вам нужно удалить все числа из строки, используйте REGEXREPLACE
:
=REGEXREPLACE(A1; "d"; "")
Когда цифры находятся не в конце строки:
Допустим, у вас запись вида «Клуб123_Москва»
. Чтобы извлечь только «Клуб»
, понадобится модифицировать формулу:
=LEFT(A1; FIND(REGEXEXTRACT(A1; "d"); A1)-1)
Здесь LEFT
обрезает строку до позиции, предшествующей первой цифре.
Совет для сложных случаев:
Если названия содержат спецсимволы (например, «Клуб-2024»
), убедитесь, что разделители (тире, подчёркивания) не мешают работе формулы. Для этого можно добавить проверку:
=IF(ISNUMBER(VALUE(REGEXEXTRACT(A1; "d"))); FIND(...); )
Практические примеры и обработка ошибок
Чтобы закрепить результат, рассмотрим таблицу с разными сценариями:
Исходная строка | Формула | Результат (позиция цифры) |
---|---|---|
Клуб_Футбола_123 | =FIND(REGEXEXTRACT(A2; "d"); A2) | 14 |
Теннис45 | =FIND(REGEXEXTRACT(A3; "d"); A3) | 7 |
ВолейбольныйКлуб | =IFERROR(...) | «Число не найдено» |
Что делать, если цифр несколько?
Если в строке есть комбинации букв и цифр (например, «Клуб2_Сезон3»
), функция всё равно найдёт позицию первой цифры. Чтобы извлечь все числа, потребуется более сложный скрипт Google Apps Script, но это тема для отдельного разговора.
Проверка данных:
Перед использованием формул рекомендую очистить данные:
- Удалите лишние пробелы с помощью
TRIM
. - Проверьте, нет ли скрытых символов (например, переносов строк), используя
CLEAN
.
Итог: Описанные методы помогут быстро обработать десятки строк, но всегда тестируйте формулы на отдельных примерах, чтобы убедиться в их корректности. Если столкнётесь с неочевидными ошибками — пишите в комментариях, разберёмся вместе!