Поиск цифр и подсчет длины текста в Excel

Иван Корнев·11.04.2026·4 мин

Чтобы найти позицию конкретной цифры в числе или тексте в Excel, используйте функцию SEARCH (или FIND), а для подсчета общего количества символов — функцию LEN. Эти инструменты позволяют быстро анализировать номера телефонов, артикулы товаров и другие данные без ручного пересчета. Ниже приведены готовые формулы и примеры их применения.

Главное правило: Функции поиска работают с текстом. Если ваши данные хранятся как чистые числа (например, 12345), преобразуйте их в текст функцией TEXT(A1;"0") перед поиском отдельных цифр.

Как найти конкретную цифру в ячейке

Для определения позиции цифры внутри строки используются две основные функции: SEARCH (ПОИСК) и FIND (НАЙТИ). Обе возвращают номер позиции первого найденного символа, считая слева направо.

Разница между SEARCH и FIND

ФункцияЧувствительность к региструПоддержка подстановочных знаковПример использования
SEARCHНет (игнорирует "А" и "а")Да (* и ?)=SEARCH("5"; A1)
FINDДа ("А" ≠ "а")Нет=FIND("5"; A1)

В большинстве случаев для работы с цифрами удобнее использовать SEARCH, так как она прощает ошибки ввода и позволяет использовать шаблоны.

Пример: В ячейке A1 записано значение 89001234567. Формула для поиска цифры "3":

=SEARCH("3"; A1)

Результат: 8 (цифра 3 стоит на восьмой позиции).

Если искомая цифра отсутствует, формула вернет ошибку #ЗНАЧ!. Чтобы избежать этого и получить понятное сообщение, оберните формулу в IFERROR:

=IFERROR(SEARCH("9"; A1); "Цифра не найдена")

Извлечение цифры по позиции

Часто нужно не просто найти позицию, а вытащить саму цифру. Для этого комбинацию поиска используют вместе с функциями извлечения текста: LEFT (ЛЕВСИМВ), RIGHT (ПРАВСИМВ) и MID (ПСТР).

  • Первая цифра: =LEFT(A1; 1)
  • Последняя цифра: =RIGHT(A1; 1)
  • Цифра в середине: =MID(A1; 3; 1) (извлечет 3-й символ).

Ошибка типа данных: Если в ячейке хранится настоящее числовое значение (выровнено по правому краю), функция RIGHT может вернуть некорректный результат при попытке извлечь часть числа как текст. Решение: Принудительно превратите число в текст: =RIGHT(TEXT(A1;"0"); 1).

Подсчет количества символов (длина строки)

Функция LEN (ДЛСТР) возвращает общее количество символов в ячейке, включая буквы, цифры, пробелы и знаки препинания.

Базовый синтаксис:

=LEN(A1)

Если в A1 написано Москва, ул. Ленина, 1, результат будет 20 (пробелы и запятые тоже считаются).

Продвинутые сценарии подсчета

Чистая длина строки нужна редко. Чаще требуется посчитать только цифры или игнорировать пробелы.

1. Длина текста без пробелов Удаляем все пробелы функцией SUBSTITUTE (ПОДСТАВИТЬ), а затем считаем остаток:

=LEN(SUBSTITUTE(A1; " "; ""))

2. Подсчет только цифр в строке Чтобы узнать, сколько цифр содержится в смешанном тексте (например, в номере заказа "Заказ №458-А"), нужно вычесть длину строки без цифр из общей длины. Формула для массива цифр (работает в новых версиях Excel):

=SUM(LEN(A1)-LEN(SUBSTITUTE(A1; {"0";"1";"2";"3";"4";"5";"6";"7";"8";"9"}; "")))

Логика: Формула по очереди удаляет каждую цифру от 0 до 9, считает разницу длин и суммирует результаты.

3. Проверка формата (валидация) Полезно для проверки ИНН, телефонов или карт. Например, проверка, что в ячейке ровно 10 цифр:

=IF(LEN(A1)=10; "Верно"; "Ошибка длины")

Практические примеры автоматизации

Вот готовые решения для типовых задач обработки данных:

Валидация номера телефона

Допустим, нужно проверить, содержит ли ячейка российский номер (начинается с +7 или 8 и имеет определенную длину).

=AND(OR(LEFT(A1;2)="+7"; LEFT(A1;1)="8"); LEN(A1)>=10)

Вернет ИСТИНА, если формат соблюден.

Извлечение кода города

Если телефон записан как 8(495)123-45-67, код города находится в скобках.

  1. Находим позицию открывающей скобки: SEARCH("("; A1)
  2. Находим позицию закрывающей: SEARCH(")"; A1)
  3. Извлекаем текст между ними через MID.

Итоговая формула:

=MID(A1; SEARCH("(";A1)+1; SEARCH(")";A1)-SEARCH("(";A1)-1)

Совет для больших таблиц: Если вам нужно применить эти формулы к тысячам строк, не копируйте их вручную. Введите формулу в первую ячейку столбца, наведите курсор на правый нижний угол ячейки (появится черный крестик) и дважды кликните. Excel автоматически протянет формулу до конца заполненных данных слева.

Частые ошибки и их решение

ОшибкаПричинаКак исправить
#ЗНАЧ! (#VALUE!)Искомая цифра не найдена или неверный синтаксис.Используйте IFERROR(...; 0) для замены ошибки на ноль.
Неверный результат поискаЯчейка отформатирована как число, а не текст.Преобразуйте диапазон в текст через «Текст по столбцам» или функцию TEXT.
Лишние пробелыДанные скопированы из веб-сайта или другой системы.Используйте функцию TRIM (СЖПРОБЕЛЫ) перед подсчетом: =LEN(TRIM(A1)).
Разделитель аргументовФормула выдает ошибку синтаксиса.В русской версии Excel аргументы разделяются точкой с запятой (;), а не запятой.

FAQ

Вопрос: Можно ли искать сразу несколько разных цифр одной формулой? Ответ: Да, можно вложить несколько функций SEARCH или использовать массив констант, но проще всего проверить наличие любой цифры из набора через сумму: =SUM(--ISNUMBER(SEARCH({"0";"5";"9"}; A1))) > 0.

Вопрос: Почему LEN считает кириллические буквы за два символа? Ответ: В современных версиях Excel (начиная с 2007 и в Office 365) каждая буква, независимо от языка, считается за один символ. Проблемы с кодировкой могут возникать только при импорте старых файлов или использовании макросов VBA с неправильной кодировкой.

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