Как посчитать количество повторений слова в Excel: от простых формул до Power Query

Почему стандартный поиск не подходит для подсчёта повторений

Вы когда-нибудь пытались вручную пересчитать, сколько раз слово «утверждено» встречается в столбце с протоколами? Или сколько клиентов из Москвы упомянуто в базе данных? В небольшой таблице это ещё терпимо, но при сотнях строк ручной подсчёт превращается в мучение. К сожалению, стандартная функция НАЙТИ или ПОИСК в Excel не решает задачу — она лишь ищет позицию первого вхождения, а не считает все повторения.

Проблема усложняется, если:

  • 🔹 Слово может быть частью другого (например, «дом» в слове «домен»)
  • 🔹 Регистр букв важен («Excel» ≠ «EXCEL»)
  • 🔹 Данные разбросаны по нескольким столбцам или листам

В этой статье мы разберём 5 рабочих методов — от элементарных формул до автоматизации через Power Query, которые покроют 90% реальных задач. Вы узнаете, как:

  • 📌 Подсчитать точные вхождения слова (с учётом регистра)
  • 📌 Найти все упоминания фразы, даже если она часть другого слова
  • 📌 Обработать данные из нескольких столбцов одновременно
  • 📌 Автоматизировать подсчёт для больших таблиц (10 000+ строк)
📊 Как часто вам приходится считать повторения слов в Excel?
Ежедневно
Раз в неделю
Редико
Никогда

Метод 1: Функция СЧЁТЕСЛИ для точного совпадения

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

Пример: подсчитаем, сколько раз слово «Да» встречается в столбце B2:B100:

=СЧЁТЕСЛИ(B2:B100; "Да")

Ограничения метода:

  • 🚫 Не учитывает частичные вхождения (например, «Да» в ячейке «Да, согласен» не посчитается)
  • 🚫 Чувствительна к пробелам и регистру («да» ≠ «Да»)
ФормулаПример данныхРезультатПояснение
=СЧЁТЕСЛИ(A2:A5; "яблоко")яблоко
груша
ЯБЛОКО
яблоко
1Считает только полное совпадение с «яблоко» (регистр важен)
=СЧЁТЕСЛИМН(A2:A5; "яб")яблоко
груша
ЯБЛОКО
яблочный
3Находит все ячейки с «яб» в любом регистре
=СЧЁТЕСЛИ(A2:A5; "груша")Груша
груша
ГРУША
грушевый
0Не учитывает частичные вхождения и регистр
⚠️ Внимание: Если в ячейке есть скрытые символы (например, неразрывный пробел), СЧЁТЕСЛИ может не сработать. Очистите данные функцией =ПЕЧСИМВ(A1) перед подсчётом.

Метод 2: Комбинация ДЛСТР, ПОДСТАВИТЬ и ЛЕН для частичных вхождений

Когда слово может быть частью другого (например, «кот» в «котик»), нужна формула, которая анализирует подстроки. Здесь поможет тройная комбинация:

=ДЛСТР(A2) - ДЛСТР(ПОДСТАВИТЬ(A2; "кот"; ""))

Эта формула считает, на сколько символов уменьшилась строка после удаления всех вхождений слова «кот». Разделив результат на длину искомого слова, получим количество повторений:

= (ДЛСТР(A2) - ДЛСТР(ПОДСТАВИТЬ(A2; "кот"; ""))) / ДЛСТР("кот")

Примените её ко всему столбцу и просуммируйте результаты:

=СУММПРОИЗВ(--(ДЛСТР(A2:A100)-ДЛСТР(ПОДСТАВИТЬ(A2:A100;"кот";"")))/ДЛСТР("кот"))
Почему формула возвращает дробные числа?

Если в ячейке есть слово «котик», формула посчитает «кот» как отдельное вхождение (часть слова). Чтобы избежать этого, добавьте пробелы в критерий поиска:

=ПОДСТАВИТЬ(A2; " кот "; " ")
— это найдёт только целое слово.

Плюсы метода:

  • 🔹 Работает с частичными вхождениями
  • 🔹 Не зависит от регистра
  • 🔹 Можно адаптировать для поиска фраз (например, «красное яблоко»)
⚠️ Внимание: Формула массива (вводится через Ctrl+Shift+Enter в старых версиях Excel) может тормозить на больших диапазонах (10 000+ строк). Для таких случаев используйте Power Query (метод 5).

Метод 3: Функция НАЙТИ в цикле (для продвинутых пользователей)

Если вам нужно не только посчитать повторения, но и узнать их позиции в тексте (например, для дальнейшего анализа), пригодится формула с рекурсией. Она последовательно ищет каждое вхождение слова и суммирует результаты.

Базовая формула для поиска первого вхождения:

=ЕСЛИОШИБКА(НАЙТИ("слово"; A2); 0)

Чтобы найти все повторения, используем ПОИСК с смещением:

=СУММ(

--НЕ(ЕСЛИОШИБКА(

НАЙТИ("§"&"слово"&"§"; "§"&A2&"§");

0

))

)

Здесь символ «§» добавляется как разделитель, чтобы избежать ложных срабатываний на части слова.

Удалите лишние пробелы функцией =СЖПРОБЕЛЫ(A2)|

Замените все знаки препинания на пробелы: =ПОДСТАВИТЬ(ПОДСТАВИТЬ(A2;",";" ");".";" ")|

Добавьте разделители «§» в начало и конец строки для точного поиска целых слов

-->

Пример работы формулы:

Исходный текстИскомое словоФормулаРезультат
Кот и котёнок гуляликот=СУММ(--НЕ(ЕСЛИОШИБКА(НАЙТИ("§кот§";"§Кот и котёнок гуляли§");0)))2
Котик спит на коврикекотТа же формула1
Кот, котёнок и кошкакотТа же формула3

Метод 4: Сводные таблицы для анализа частотности

Если вам нужно не просто посчитать повторения одного слова, а проанализировать всю текстovou статистику (например, топ-10 самых частых слов в отзывах), сводные таблицы сэкономят часы работы. Алгоритм:

  1. Выделите столбец с текстом.
  2. Перейдите на вкладку Вставка → Сводная таблица.
  3. В настройках сводной таблицы добавьте исходный столбец в область Строки и Значения (опция Количество).
  4. Отсортируйте результат по убыванию.

Для более точного анализа:

  • 🔹 Предварительно разбейте текст на отдельные слова с помощью Power Query (см. метод 5).
  • 🔹 Удалите стоп-слова («и», «в», «на») функцией =ПОДСТАВИТЬ.
  • 🔹 Приведите все слова к нижнему регистру (=НИЖНРЕГ(A2)), чтобы избежать дублей («Excel» и «excel»).

Пример сводной таблицы для анализа отзывов:

СловоКоличество% от общего
быстро4212%
удобно3510%
дорого288%
качество226%
⚠️ Внимание: Сводные таблицы считают повторения целых ячеек, а не отдельных слов. Если в одной ячейке текст «быстро и удобно», она посчитается как одно вхождение. Для анализа отдельных слов используйте Power Query.

Метод 5: Power Query для обработки больших текстов

Когда данных тысячи строк, а слова нужно не только посчитать, но и нормализовать (привести к единому виду), Power Query становится незаменим. Этот инструмент позволяет:

  • 🔹 Разбивать текст на слова по разделителям
  • 🔹 Удалять стоп-слова и знаки препинания
  • 🔹 Группировать данные по частоте упоминаний
  • 🔹 Обрабатывать несколько файлов одновременно

Пошаговая инструкция:

  1. Выделите исходные данные и нажмите Данные → Из таблицы/диапазонаExcel 2016+).
  2. В редакторе Power Query разбейте текст на слова:
    = Table.AddColumn(#"Предыдущий шаг", "Слова", each Text.Split([Текст], " "))
  3. Разверните полученные списки в строки (Дом → Развернуть столбец).
  4. Удалите пустые ячейки и приведите текст к нижнему регистру.
  5. Сгруппируйте данные по столбцу «Слова» с операцией Count Rows.

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

Типичные ошибки и как их избежать

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

  • 🔸 Пробелы и невидимые символы: Ячейка может выглядеть пустой, но содержать пробел или символ табуляции. Очищайте данные функцией =СЖПРОБЕЛЫ(ПЕЧСИМВ(A1)).
  • 🔸 Регистр букв: «Excel» и «excel» — разные слова для СЧЁТЕСЛИ. Используйте =НИЖНРЕГ(A1) для унификации.
  • 🔸 Частичные вхождения: Поиск «кот» найдёт «котик» и «котёнок». Добавьте пробелы в критерий: =СЧЁТЕСЛИМН(A2:A100; " кот ").
  • 🔸 Объединённые ячейки: Формулы массива не работают с объединёнными ячейками. Разъедините их перед подсчётом.

Проверьте себя:

ОшибкаПримерКак исправить
Лишние пробелы" слово " vs "слово"=СЖПРОБЕЛЫ(A1)
Разный регистр"Excel" vs "excel"=НИЖНРЕГ(A1)
Скрытые символыНеразрывный пробел (CHAR(160))=ПОДСТАВИТЬ(A1;CHAR(160);" ")
Частичные вхожденияИщем «кот», а находим «котик»Добавьте разделители: " кот "
⚠️ Внимание: Если вы работаете с данными, импортированными из PDF или веб-страниц, вероятность скрытых символов приближается к 100%. Всегда очищайте текст перед анализом!

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

Можно ли посчитать повторения слова в нескольких столбцах одновременно?

Да. Объедините столбцы в один с помощью функции =ОБЪЕДИНИТЬ (или CONCAT в новых версиях), а затем примените любую из формул подсчёта. Например:

=СЧЁТЕСЛИМН(ОБЪЕДИНИТЬ(A2:A100; " "; B2:B100); "слово")

Или создайте вспомогательный столбец с объединёнными данными.

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

Используйте комбинацию УНИКExcel 365) и СЧЁТ:

=СЧЁТ(УНИК(ТЕКСТРАЗД(A2:A100; " ")))

Для старых версий экспортируйте данные в Power Query и используйте группировку.

Почему формула возвращает #ЗНАЧ!?

Ошибка #ЗНАЧ! возникает, если:

  • 🔹 В диапазоне есть объединённые ячейки.
  • 🔹 Формула массива не подтверждена Ctrl+Shift+EnterExcel 2019 и старше).
  • 🔹 Искомое слово содержит специальные символы (например, "слов*о"). Экранируйте их тильдой: "слов~*о".
Как посчитать повторения с учётом морфологии (например, «кот» и «кота»)?

Excel не умеет работать с морфологией самостоятельно. Варианты решений:

  • 🔹 Используйте Power Query с подключением к Python-скрипту (библиотека pymorphy2).
  • 🔹 Замените все формы слова на одну (например, «кота» → «кот») с помощью ПОДСТАВИТЬ.
  • 🔹 Воспользуйтесь надстройками вроде Ablebits или Kutools , которые поддерживают нечёткий поиск.
Можно ли автоматизировать подсчёт для ежедневных отчётов?

Да. Создайте шаблон с Power Query и сохраните его как .xltm. Затем:

  1. Ежедневно импортируйте новые данные в шаблон.
  2. Обновляйте запрос Power Query (правый клик по таблице → Обновить).
  3. Экспортируйте результат в PDF или Excel через Файл → Экспорт.

Для полной автоматизации настройте VBA-макрос с таймером.