Анализ повторяющихся слов в таблицах Excel

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

Чтобы найти и посчитать повторяющиеся слова в Excel, необходимо сначала нормализовать текст (привести к одному регистру и удалить знаки препинания), затем разбить его на отдельные слова и применить функции подсчета уникальных значений. Самый быстрый способ в современных версиях (Excel 365/2021) — использование связки функций TEXTSPLIT, UNIQUE и COUNTIF. Для больших массивов данных эффективнее использовать надстройку Power Query.

Подготовка текстовых данных

Прежде чем искать дубликаты, текст нужно привести к единому стандарту. Без этого слова «Слово», «слово» и «слово.» будут считаться разными значениями.

Процесс подготовки включает три этапа:

  1. Приведение к нижнему регистру. Используйте функцию =НИЖН(ячейка) (или =LOWER в англ. версии), чтобы «Слово» и «слово» стали идентичными.
  2. Удаление знаков препинания. Замените точки, запятые и другие символы на пробелы или пустоту, чтобы они не «прилипали» к словам.
  3. Устранение лишних пробелов. Функция =СЖПРОБЕЛЫ() (или =TRIM) убирает двойные пробелы и лишние отступы.

Для сложной очистки знаков препинания можно вложить несколько функций ПОДСТАВИТЬ (SUBSTITUTE) друг в друга или использовать функцию ТЕКСТПОСЛЕ/ТЕКСТДО для выделения чистых фрагментов.

Метод 1: Формулы динамических массивов (Excel 365/2021)

Этот способ идеален для быстрого анализа текста внутри одной ячейки или небольшого столбца без создания сложных отчетов.

Шаг 1: Разбиение текста на слова

Используйте функцию =ТЕКСТРАЗД(текст; " ") (=TEXTSPLIT). Она превращает строку текста в вертикальный массив отдельных слов. Пример: Если в ячейке A2 находится очищенный текст, формула =ТЕКСТРАЗД(A2; " ") выведет список слов в соседние ячейки.

Шаг 2: Подсчет повторений

После получения списка слов (допустим, он занял диапазон E2:E20):

  1. Получите список уникальных слов: =УНИК(диапазон_слов).
  2. Посчитайте частоту каждого слова рядом со списком уникальных: =СЧЁТЕСЛИ(диапазон_слов; ячейка_уникального_слова).

Шаг 3: Фильтрация дубликатов

Чтобы увидеть только те слова, которые встречаются более одного раза, оберните результат в функцию ФИЛЬТР: =ФИЛЬТР(список_уникальных; список_частот > 1)

Функции динамических массивов требуют, чтобы ниже и справа от формулы было достаточно пустых ячеек. Иначе возникнет ошибка #ПРОИЗВ! (#SPILL!).

Метод 2: Power Query для больших объемов данных

Если нужно проанализировать тысячи строк с текстом, формулы могут замедлить работу файла. Надстройка Power Query справляется с этим быстрее и автоматизирует процесс.

  1. Выделите столбец с текстом и перейдите на вкладку ДанныеИз таблицы/диапазона.
  2. В редакторе Power Query выберите столбец с текстом.
  3. На вкладке Главная нажмите Разделить столбецПо разделителю. Выберите «Пробел» и укажите опцию «Разделить на строки» (это критически важно для последующей группировки).
  4. Приведите данные к нижнему регистру через меню ПреобразованиеФорматСтрочные буквы.
  5. Удалите лишние пробелы и пустые строки (фильтр по значению).
  6. Перейдите на вкладку ПреобразованиеГруппировать по.
    • Имя нового столбца: «Количество».
    • Операция: Количество строк.
    • Группировка по: столбец со словами.
  7. Отфильтруйте столбец «Количество», оставив только значения больше 1.
  8. Нажмите Закрыть и загрузить, чтобы выгрузить готовый отчет на новый лист.

Сравнение методов обработки

КритерийФормулы (ТЕКСТРАЗД/УНИК)Power Query
Сложность настройкиНизкая (одна формула)Средняя (требуется настройка шагов)
ПроизводительностьПадает при тысячах строкВысокая, оптимизирована для больших данных
Обновление данныхАвтоматическое при изменении ячейкиТребует нажатия кнопки «Обновить»
Гибкость очисткиОграничена длиной формулыВысокая (удобное удаление символов)
Версия ExcelТолько 365 и 2021+Доступно в 2010 и новее

Частые ошибки при анализе

  • Учет регистра: Слово «Москва» и «москва» считаются разными. Всегда используйте приведение к нижнему регистру перед анализом.
  • Знаки препинания: Без предварительной замены точек и запятых на пробелы слово «дом» и «дом,» будут разными сущностями.
  • Лишние пробелы: Двойные пробелы создают пустые элементы в массиве слов, что искажает статистику. Обязательно применяйте функцию сжатия пробелов.
  • Стоп-слова: При частотном анализе часто забывают исключить предлоги и союзы («и», «в», «на»), которые технически являются самыми частыми повторениями, но не несут смысловой нагрузки.

FAQ

Можно ли посчитать повторяющиеся слова во всем столбце сразу? Да. В формулах объедините все ячейки столбца в одну длинную строку через =СЦЕПИТЬ() или =ОБЪЕДИНИТЬ(), а затем примените разбиение. В Power Query это делается автоматически при импорте диапазона.

Что делать, если слова разделены не только пробелами, но и переносами строк? В функциях замените символ переноса строки (CHAR(10)) на пробел перед разбиением. В Power Query при разделении по разделителю можно выбрать опцию «Перевод строки» или использовать регулярные выражения в расширенном редакторе.

Как игнорировать короткие слова (например, из 1-2 букв)? После получения таблицы с частотой добавьте фильтр по длине слова. В формулах используйте =ДЛСТР(слово) > 2 внутри функции ФИЛЬТР. В Power Query добавьте шаг фильтрации по длине столбца.