При попытке подсчитать количество повторяющихся слов в столбце Microsoft Excel пользователи часто сталкиваются с ошибкой: функция СЧЁТЕСЛИ игнорирует регистр или учитывает только точные совпадения ячеек, а не отдельные слова внутри них. Например, если в ячейке A1 записано «красный шар синий», а в A2 — «синий куб», стандартный подсчёт не распознает «синий» как повторяющийся элемент. Проблема усугубляется, когда данные содержат лишние пробелы, знаки препинания или слова в разных падежах.
Чтобы корректно посчитать количество одинаковых слов в столбце, требуется комбинация функций для разбивки текста (ТЕКСТРАЗД в новых версиях или ПОИСК+ПСТР в старых), нормализации регистра (ПРОПИСН/СТРОЧН) и агрегации результатов. Ниже разобраны 5 рабочих методов — от простых формул для точных совпадений до продвинутых решений с Power Query для обработки сложных текстов.
1. Подсчёт точных совпадений ячеек (функция СЧЁТЕСЛИ)
Если каждая ячейка столбца содержит ровно одно слово (без пробелов и дополнительных символов), достаточно стандартной функции СЧЁТЕСЛИ. Она считает количество ячеек с указанным значением, чувствительна к регистру и игнорирует частичные совпадения.
Пример формулы для подсчёта слова «яблоко» в диапазоне A1:A100:
=СЧЁТЕСЛИ(A1:A100; "яблоко")
- ✅ Плюсы: простая, работает во всех версиях Excel.
- ❌ Минусы: не подходит для ячеек с несколькими словами или лишними символами.
⚠️ Внимание: Если в ячейке есть пробелы до/после слова (например, « яблоко »), функция не распознает его как «яблоко». Используйте СЖПРОБЕЛЫ для очистки данных перед подсчётом.
2. Разбивка текста на слова и подсчёт (ТЕКСТРАЗД + СЧЁТЕСЛИМН)
Для ячеек с несколькими словами (например, «красное яблоко зелёное») потребуется:
- Разбить текст на отдельные слова.
- Нормализовать регистр (привести к нижнему/верхнему).
- Подсчитать повторения каждого слова.
В Excel 365 и Excel 2021 используйте функцию ТЕКСТРАЗД (или TEXTSPLIT в английской версии):
=СЧЁТЕСЛИМН(ТЕКСТРАЗД(A1:A100; " "); "яблоко")
Для старых версий Excel применяйте комбинацию ПОИСК + ПСТР в цикле (см. раздел 4).
| Функция | Пример | Подходит для |
|---|---|---|
ТЕКСТРАЗД | =ТЕКСТРАЗД(A1; " ") | Excel 365/2021, разбивка по пробелу |
СЖПРОБЕЛЫ | =СЖПРОБЕЛЫ(A1) | Удаление лишних пробелов в любых версиях |
ПРОПИСН | =ПРОПИСН(A1) | Приведение к верхнему регистру |
3. Подсчёт с учётом регистра и знаков препинания
Если слова в ячейках записаны в разном регистре («Яблоко» vs «яблоко») или содержат знаки препинания («яблоко,»), используйте ПОДСТАВИТЬ для нормализации:
=СЧЁТЕСЛИМН(
ПОДСТАВИТЬ(ПОДСТАВИТЬ(СЖПРОБЕЛЫ(A1:A100); ","; ""); "."; "");
"яблоко"
)
Для учёта регистра добавьте ПРОПИСН или СТРОЧН:
=СЧЁТЕСЛИМН(
СТРОЧН(ПОДСТАВИТЬ(A1:A100; ","; ""));
"яблоко"
)
- 🔹 Важно: Функция
СЧЁТЕСЛИМНдоступна только в Excel 2019+. Для старых версий используйтеСУММПРОИЗВ(см. раздел 5). - 🔹 Ошибка #ЗНАЧ!: Возникает, если диапазоны в
СЧЁТЕСЛИМНразного размера. Проверьте границыA1:A100.
4. Разбивка текста в старых версиях Excel (без ТЕКСТРАЗД)
В Excel 2016 и ранее для разбивки текста на слова применяют формулу массива с ПОИСК, ПСТР и ДЛСТР. Например, чтобы извлечь первое слово из ячейки A1:
=ПСТР(A1; 1; НАЙТИ(" "; A1 & " ")-1)
Для подсчёта повторений всех слов в столбце:
- Создайте вспомогательный столбец с формулой извлечения слов (см. выше).
- Скопируйте её вниз на нужное количество строк.
- Используйте
СЧЁТЕСЛИдля подсчёта каждого слова.
⚠️ Внимание: Формулы массива требуют подтверждения клавишами Ctrl+Shift+Enter в Excel 2016. В новых версиях это не нужно.
Пример файла с формулами для старых версий
Скачайте шаблон Excel с готовыми формулами разбивки текста и подсчёта слов для Excel 2010–2016.
5. Продвинутый подсчёт с СУММПРОИЗВ и ТОЧНОЕ
Для сложных случаев (например, подсчёт слов с учётом регистра в Excel 2013) используйте комбинацию СУММПРОИЗВ и ТОЧНОЕ:
=СУММПРОИЗВ(
--(ТОЧНОЕ(ПОДСТАВИТЬ(A1:A100; ","; ""); "яблоко"))
)
Чтобы посчитать все уникальные слова в столбце и их количество:
- Создайте список уникальных слов (используйте
УНИКв Excel 365 илиРасширенный фильтрв старых версиях). - Примените
СУММПРОИЗВдля каждого слова из списка.
| Задача | Формула | Версия Excel |
|---|---|---|
| Подсчёт слова с учётом регистра | =СУММПРОИЗВ(--(ТОЧНОЕ(A1:A100; "Яблоко"))) | 2013+ |
| Подсчёт слова без учёта регистра | =СУММПРОИЗВ(--(СТРОЧН(A1:A100)="яблоко")) | 2007+ |
| Извлечение N-го слова из ячейки | =ТЕКСТРАЗД(A1; " "; ; ; N) | 365/2021 |
6. Автоматизация с Power Query (для больших данных)
Если в столбце тысячи строк, ручной подсчёт неэффективен. Power Query (вкладка Данные → Из таблицы/диапазона) позволяет:
- 🔄 Разбить текст на слова по пробелам/запятым.
- 📊 Сгруппировать данные по словам и посчитать их количество.
- 🔍 Отфильтровать стоп-слова (предлоги, союзы).
Алгоритм:
- Загрузите данные в Power Query.
- Выделите столбец →
Разделить столбец→По разделителю(укажите пробел). - Выделите новый столбец →
Преобразовать→Нижний регистр. - Группировка по столбцу со словами → операция
Count Rows.
☑️ Подготовка данных перед Power Query
7. Типичные ошибки и как их избежать
Ошибки при подсчёте слов в Excel делятся на 3 категории:
- 🔴 Синтаксические: пропущенные скобки в формулах, неверные диапазоны.
- 🔴 Логические: учёт регистра, когда он не нужен (или наоборот).
- 🔴 Данные: лишние пробелы, невидимые символы (например, неразрывный пробел).
Примеры решений:
- 🛠 Ошибка #ИМЯ?: Проверьте название функции (например,
ТЕКСТРАЗДработает только в Excel 365). - 🛠 Неправильный подсчёт: Используйте
СЖПРОБЕЛЫдля очистки данных. - 🛠 Медленная работа: Для больших данных (>10 000 строк) переходите на Power Query.
FAQ: Частые вопросы
Можно ли посчитать слова в Excel Online?
Да, но с ограничениями: в Excel Online недоступны ТЕКСТРАЗД и Power Query. Используйте СЧЁТЕСЛИ для точных совпадений или ПОИСК+ПСТР для разбивки текста.
Как посчитать слова в диапазоне с учётом падежей (например, «яблоко» и «яблока»)?
Excel не умеет автоматически приводить слова к начальной форме. Решения:
- Используйте надстройки для лемматизации (например, Excel Morphology Add-in).
- Вручную создайте таблицу соответствий падежей и подставляйте её в формулы.
Почему СЧЁТЕСЛИ не считает слово, если в ячейке есть запятая?
Функция ищет точные совпадения ячеек. Если в ячейке «яблоко, груша», а вы ищете «яблоко» — совпадения не будет. Используйте ПОДСТАВИТЬ для удаления запятых или ТЕКСТРАЗД для разбивки.
Как посчитать количество уникальных слов в столбце?
В Excel 365:
=СЧЁТ(УНИК(ТЕКСТРАЗД(A1:A100; " ")))
В старых версиях:
- Разбейте текст на слова (см. раздел 4).
- Скопируйте результат в новый столбец.
- Используйте
Расширенный фильтрдля извлечения уникальных значений.