Как в Excel посчитать, сколько раз встречается число в строке: пошаговые инструкции

Работа с данными в Microsoft Excel часто требует анализа повторяющихся значений — будь то инвентаризация товаров, обработка опросов или проверка дубликатов в отчётах. Одна из распространённых задач: подсчёт количества вхождений конкретного числа в строке. На первый взгляд задача простая, но стандартные функции вроде СЧЁТЕСЛИ работают с диапазонами, а не с отдельными строками. Как же быть, если нужно узнать, сколько раз число 5 встречается в ячейке A1, где записано 2;5;8;5;3;5?

В этой статье разберём 5 проверенных способов — от простых формул до продвинутых инструментов вроде Power Query. Вы узнаете, как адаптировать решения под разные форматы данных (разделители запятые, точки с запятой, пробелы) и избежать типичных ошибок. А в конце — FAQ с ответами на частые вопросы и лайфхаки для ускорения работы.

Если вы регулярно работаете с текстом в ячейках, где числа перемешаны с другими символами, этот гайд сэкономит вам часы ручной обработки. Например, в строке "Заказ #123: 5 шт. (цена 200₽), 5 шт. (цена 150₽)" стандартный СЧЁТЕСЛИ бессилен — нужны специальные приёмы. Готовы? Начинаем с самого простого метода.

1. Способ: Функция СЧЁТЕСЛИ для диапазона (если числа в отдельных ячейках)

Если ваши числа расположены не в одной строке, а в диапазоне ячеек (например, A1:A10), задача решается элементарно — с помощью функции СЧЁТЕСЛИ. Это базовый инструмент, который подходит для 80% случаев.

Формула выглядит так:

=СЧЁТЕСЛИ(диапазон; критерий)

Где:

  • 📌 диапазон — адреса ячеек, где ищем число (например, A1:A100).
  • 🔍 критерий — искомое число (можно указать ячейку с числом или само число в кавычках, например, "5").

Пример: чтобы посчитать, сколько раз число 10 встречается в столбце B с B2 по B50, введите:

=СЧЁТЕСЛИ(B2:B50; 10)
⚠️ Внимание: Функция СЧЁТЕСЛИ учитывает только точные совпадения. Если в ячейке записано 10,5, а вы ищете 10 — совпадения не будет. Для частичных совпадений используйте СЧЁТЕСЛИМН с подстановочными знаками.

Чтобы подсчитать числа с учётом условий (например, "больше 5"), модифицируйте критерий:

=СЧЁТЕСЛИ(B2:B50; ">5")
📊 Как часто вы используете СЧЁТЕСЛИ в работе?
Ежедневно
Несколько раз в неделю
Редко
Никогда не слышал о такой функции

2. Способ: Подсчёт вхождений числа в текстовой строке (с разделителями)

А теперь главный вопрос: как посчитать повторения числа внутри одной ячейки, где данные записаны через разделитель? Например, в ячейке A1 лежит строка:

3;5;2;5;8;5;1

Нужно узнать, сколько раз встречается число 5.

Решение — комбинация функций ДЛСТР, ПОДСТАВИТЬ и НАЙТИ. Формула:

= (ДЛСТР(A1) - ДЛСТР(ПОДСТАВИТЬ(A1; "5"; ""))) / ДЛСТР("5")

Как это работает:

  1. ПОДСТАВИТЬ(A1; "5"; "") — удаляет все вхождения 5 из строки.
  2. ДЛСТР(A1) и ДЛСТР(ПОДСТАВИТЬ(...)) — сравнивают длину исходной строки и строки без 5.
  3. Результат делят на длину искомого числа (ДЛСТР("5") = 1), чтобы получить количество вхождений.

Если числа в строке разделены не точкой с запятой, а запятой или пробелом, замените разделитель в формуле. Например, для строки "3,5,2,5,8":

= (ДЛСТР(ПОДСТАВИТЬ(A1; ","; "")) - ДЛСТР(ПОДСТАВИТЬ(ПОДСТАВИТЬ(A1; ","; ""); "5"; ""))) / ДЛСТР("5")
⚠️ Внимание: Этот метод учитывает все вхождения символа "5", даже если он часть другого числа (например, 15 или 50). Для точного поиска целых чисел используйте способ №3.

Убедитесь, что разделители одинаковые во всех строках

Проверьте, нет ли лишних пробелов перед/после разделителей

Преобразуйте текст в числа (если нужно) функцией ЗНАЧЕН

Сохраните резервную копию файла-->

3. Способ: Точный подсчёт целых чисел с разделителями (продвинутый)

Если в строке числа записаны через разделитель, но нужно учитывать только целые числа (игнорируя 15, 50 и т.д.), потребуется формула массива. Например, для строки 2|5|8|5|15 нужно посчитать только вхождения числа 5, а не символа "5" в числе 15.

Используйте эту формулу (вводите с Ctrl+Shift+Enter в старых версиях Excel):

=СУММ(--(ЗНАЧЕН(РАЗБТЕКСТ(A1; "|"))=5))

Где:

  • 🔄 РАЗБТЕКСТ(A1; "|") — разбивает строку по разделителю "|" на массив.
  • 🔢 ЗНАЧЕН(...) — преобразует текстовые числа в числовой формат.
  • 🔍 =5 — сравнивает каждый элемент массива с числом 5.
  • 📊 -- и СУММ — преобразуют ИСТИНА/ЛОЖЬ в 1/0 и суммируют.

Для других разделителей замените "|" на нужный символ. В Excel 365 и Excel 2021 формула работает без Ctrl+Shift+Enter.

Критичный нюанс: если в строке есть пустые элементы (например, 2||5), функция ЗНАЧЕН вернёт ошибку. Чтобы избежать этого, добавьте обработку ошибок:

=СУММ(--(ЕСЛИОШИБКА(ЗНАЧЕН(РАЗБТЕКСТ(A1; "|")); 0)=5))
Почему формула не работает в Excel 2010?

В Excel 2010 и старше функция РАЗБТЕКСТ (TEXTSPLIT) отсутствует. Используйте альтернативу:

=СУММ(--(ЗНАЧЕН(ТРАНСП(РАЗДЕЛИТЬ(A1; "|")))=5))

где РАЗДЕЛИТЬ — пользовательская функция VBA или добавlenie через Power Query.

4. Способ: Power Query для сложных строк (автоматизация)

Если у вас тысячи строк с нестандартными разделителями или смешанными данными (числа + текст), ручные формулы станут кошмаром. Здесь на помощь придёт Power Query — инструмент для преобразования данных, встроенный в Excel 2016+ и Office 365.

Алгоритм действий:

  1. Выделите исходные данные → Данные → Из таблицы/диапазонаExcel 2016Получить данные → Из таблицы).
  2. В открывшемся редакторе Power Query выделите столбец со строками → Преобразовать → Разделить столбец → По разделителю.
  3. Укажите разделитель (например, точку с запятой) и нажмите ОК.
  4. Теперь выделите новый столбец с числами → Преобразовать → Формат → Числовой.
  5. Добавьте группировку: Преобразовать → Группировка, выберите столбец с числами, операцию Count Rows.
  6. Нажмите Закрыть и загрузить — результат появится на новом листе.

Преимущества Power Query:

  • ⚡ Обрабатывает миллионы строк без тормозов.
  • 🔄 Автоматически обновляет результаты при изменении исходных данных.
  • 🛠️ Позволяет очищать данные (удалять пробелы, исправлять ошибки) на лету.
⚠️ Внимание: Если после разделения строки некоторые ячейки остаются пустыми, Power Query может интерпретировать их как ошибки. Чтобы избежать этого, на этапе преобразования добавьте замену пустых значений на 0:

Преобразовать → Заменить значения → в поле "Значение для поиска" оставьте пустым, в "Замена" укажите 0.

5. Способ: VBA-скрипт для гибкого подсчёта

Если вам нужно настраиваемое решение (например, искать числа в строках с разными разделителями или игнорировать текст), напишите простую процедуру на VBA. Этот метод подходит для опытных пользователей, но даёт максимальную гибкость.

Откройте редактор VBA (Alt + F11), вставьте новый модуль (Insert → Module) и добавьте этот код:

Function CountNumbersInString(rng As Range, num As Variant, Optional delimiter As String = ";") As Long

Dim arr() As String

Dim count As Long

Dim i As Long

arr = Split(rng.Value, delimiter)

count = 0

For i = LBound(arr) To UBound(arr)

If IsNumeric(arr(i)) Then

If CLng(arr(i)) = CLng(num) Then

count = count + 1

End If

End If

Next i

CountNumbersInString = count

End Function

Теперь в Excel можно использовать эту функцию как стандартную. Например:

=CountNumbersInString(A1; 5; ";")

Где:

  • A1 — ячейка со строкой.
  • 5 — искомое число.
  • ";" — разделитель (необязательный параметр, по умолчанию ";").

Преимущества VBA:

ПлюсМинус
✅ Работает с любыми разделителями❌ Требует знаний VBA
✅ Игнорирует нечисловые элементы❌ Нужно разрешить макросы
✅ Быстрее формул на больших данных❌ Не работает в Excel Online

Сравнение методов: какой выбрать?

Выбор способа зависит от формата данных, объёма и ваших навыков. Вот краткое сравнение:

Метод Подходит для Сложность Ограничения
СЧЁТЕСЛИ Числа в отдельных ячейках Не работает со строками
Формула с ДЛСТР/ПОДСТАВИТЬ Простые строки с одинаковым разделителем ⭐⭐ Учитывает частичные совпадения
Формула массива Точный подсчёт целых чисел ⭐⭐⭐ Требует Ctrl+Shift+Enter в старых Excel
Power Query Большие объёмы данных, сложные разделители ⭐⭐⭐ Нужно изучить интерфейс
VBA Максимальная гибкость, автоматизация ⭐⭐⭐⭐ Требует навыков программирования

Для разовых задач хватит формул из способов 2–3. Если данные обновляются регулярно — настройте Power Query или VBA.

FAQ: Ответы на частые вопросы

Можно ли посчитать вхождения числа в строке, если разделители разные (то запятая, то точка с запятой)?

Да, но потребуется предварительная обработка. Замените все возможные разделители на один с помощью ПОДСТАВИТЬ:

=ПОДСТАВИТЬ(ПОДСТАВИТЬ(A1; ","; "|"); ";"; "|")

А затем используйте любой из методов выше с разделителем "|".

Как посчитать уникальные числа в строке?

Используйте комбинацию Power Query или VBA. В Power Query после разделения строки добавьте шаг Группировка по столбцу с числами, выбрав операцию Count Distinct Rows.

Формула возвращает ошибку #ЗНАЧ!. В чём проблема?

Ошибка возникает, если:

  • 🔹 В строке есть текст, который нельзя преобразовать в число (например, "N/A").
  • 🔹 Разделитель указан неверно (например, в строке запятые, а вы ищете точку с запятой).
  • 🔹 В старых версиях Excel не нажали Ctrl+Shift+Enter для формулы массива.

Проверьте исходные данные и синтаксис формулы.

Как посчитать вхождения числа в диапазоне ячеек, где в каждой ячейке — строка с разделителями?

Примените формулу массива ко всему диапазону. Например, для A1:A10:

=СУММПРОИЗВ(--(ЗНАЧЕН(РАЗБТЕКСТ(A1:A10; ";"))=5))

В Excel 365 формула будет автоматически "проливаться" на все строки.

Можно ли адаптировать эти методы для Google Sheets?

Да, большинство формул работают и в Google Таблицах, но с поправками:

  • 📌 РАЗБТЕКСТ заменяется на SPLIT.
  • 📌 Формулы массива вводятся без Ctrl+Shift+Enter.
  • 📌 Power Query недоступен, но есть аналогичный инструмент Apps Script.