Поиск дубликатов слов в тексте таблиц Excel

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

Чтобы найти повторяющиеся слова в Excel, используйте функцию =LET вместе с TEXTSPLIT и FILTER (доступно в Microsoft 365) для анализа одной ячейки или инструмент Power Query для обработки целых столбцов. Эти методы позволяют автоматически нормализовать текст, разбить его на отдельные слова и вывести список тех, что встречаются более одного раза, без необходимости ручного просмотра или написания макросов.

Когда необходим текстовый анализ в Excel

Поиск одинаковых слов требуется не только для чистоты данных, но и для решения конкретных бизнес-задач:

  • SEO-аудит: выявление переспама ключевыми словами в мета-тегах или описаниях товаров.
  • Очистка баз данных: удаление случайных повторений в комментариях или адресах перед импортом в CRM.
  • Лингвистический анализ: подсчет частотности терминов в больших массивах отзывов или документов.
  • Контроль качества: проверка технических заданий на тавтологии.

Анализ повторяющихся слов внутри одной ячейки

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

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

  1. Нормализация: Приведите текст к нижнему регистру и удалите знаки препинания, чтобы слова «Слово» и «слово,» считались одинаковыми.
  2. Разбиение: Разделите строку на массив отдельных слов.
  3. Фильтрация: Оставьте только те элементы массива, частота которых превышает 1.

Готовая формула для Excel 365

Вставьте следующую формулу в любую свободную ячейку, заменив A2 на адрес вашей ячейки с текстом:

=LET(
    raw_text, LOWER(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(A2,"."," "),","," "),";"," ")),
    words, TEXTSPLIT(raw_text, " "),
    unique_words, UNIQUE(words),
    counts, COUNTIF(words, unique_words),
    FILTER(unique_words, counts > 1, "Повторов нет")
)

Функция TEXTSPLIT доступна только в подписке Microsoft 365 и Excel 2021+. Если у вас старая версия, используйте метод через Power Query, описанный ниже.

Поиск общих слов между разными ячейками или столбцами

Когда нужно найти слова, которые повторяются в разных строках одного столбца или пересекаются между двумя колонками, формулы становятся громоздкими. Здесь лучше подходит надстройка Power Query, встроенная в Excel. Она обрабатывает тысячи строк быстрее и не перегружает файл вычислениями.

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

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

Результатом будет таблица, где слева указано слово, а справа — сколько раз оно встретилось во всем исходном массиве.

Чтобы вернуть данные обратно в Excel, нажмите кнопку Закрыть и загрузить. Результат появится на новом листе в виде умной таблицы, которую можно обновлять при изменении исходных данных.

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

Выбор инструмента зависит от версии Excel и объема данных. Ниже приведено сравнение подходов для быстрого принятия решения.

| Метод | Версия Excel | Объем данных | Сложность настройки | Скорость работы | | :--- | :--- | :--- | :--- :--- | | Формулы (LET/TEXTSPLIT) | Microsoft 365, 2021+ | Малый (до 1000 ячеек) | Низкая | Мгновенно (при малом объеме) | | Power Query | 2010 и новее | Средний и большой | Средняя | Высокая (требует обновления) | | Условное форматирование | Любая | Очень малый | Низкая | Низкая (тормозит на больших текстах) | | VBA Макросы | Любая | Любой | Высокая | Высокая (но риск ошибок кода) |

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

При работе с текстовыми данными в Excel пользователи часто сталкиваются со следующими проблемами:

  • Игнорирование регистра: Слова «Москва» и «москва» считаются разными. Всегда используйте функцию LOWER или преобразование в строчные буквы в Power Query.
  • Лишние пробелы: Двойные пробелы между словами могут восприниматься как пустые значения или искажать разбиение. Используйте функцию TRIM или шаг «Преобразовать» → «Очистить» в Power Query.
  • Знаки препинания: Без предварительной замены точек и запятых на пробелы слова окажутся «приклеенными» к знакам (например, «дом.» и «дом» будут разными).
  • Переполнение формулами: Попытка применить сложные массивные формулы к столбцу из 50 000 строк приведет к зависанию программы. Для больших объемов используйте только Power Query.

FAQ

Можно ли выделить повторяющиеся слова цветом прямо в тексте? Стандартными средствами Excel выделить часть текста внутри ячейки разным цветом невозможно. Условное форматирование работает только с целой ячейкой. Для визуализации придется выводить список дубликатов в соседний столбец.

Что делать, если функции TEXTSPLIT нет в моем Excel? Используйте Power Query (метод описан выше). Это даже более надежный способ для регулярной работы, так как он не требует ввода сложных формул и легко обновляется.

Как учесть слова с разными окончаниями (например, «дом» и «дома»)? Excel не умеет автоматически приводить слова к начальной форме (лемматизация). Для этого потребуется сторонняя надстройка или предварительная обработка текста в специализированных лингвистических сервисах перед загрузкой в Excel.