Удалить повторяющиеся слова в ячейке Excel
Возможности !SEMTools
↑ Навигация по задачам в Excel и возможностям надстройки !SEMTools ↑

Удалить повторяющиеся слова внутри ячейки в Excel 365 можно формулой =ОБЪЕДИНИТЬ(" ";ИСТИНА;УНИК(ТЕКСТРАЗД(A2;" ");ИСТИНА)): ТЕКСТРАЗД раскладывает текст на слова, УНИК оставляет первое вхождение каждого, ОБЪЕДИНИТЬ склеивает их обратно через пробел. Удалить одно и то же слово во всех ячейках поможет «Найти и заменить» (Ctrl+H) или ПОДСТАВИТЬ, а повторы слов в любой версии Excel — с условиями, с учётом словоформ и по всему столбцу — удаляют процедуры !SEMTools в 2 клика.

При анализе текстовых данных зачастую требуется удалить повторяющиеся слова в каждой строке. Иногда слова дублируются из-за машинных ошибок. Иногда повторы допускают люди. Но так или иначе — их нужно удалить.

Удалить повторяющиеся слова внутри ячейки

Прежде, чем удалять повторы слов, можно убедиться, что они есть в принципе, для этого в !SEMTools есть отдельный инструмент — найти повторяющиеся слова в ячейках. Если массив фраз большой (десятки-сотни тысяч строк), эта процедура будет заметно быстрее.

Мысленно алгоритм довольно прост и понятен — нужно:

  1. разбить ячейку на слова,
  2. просматривать их по порядку,
  3. удалять слова, если они уже встречались в строке ранее.

Удалить повторы внутри ячейки - формула Excel 365

Если у вас последняя версия Excel, удалить повторяющиеся слова можно с помощью новых функций - ОБЪЕДИНИТЬ, УНИК и ТЕКСТРАЗД.

=ОБЪЕДИНИТЬ(" ";ИСТИНА;УНИК(ТЕКСТРАЗД(A1;" ");ИСТИНА))
Формула для удаления повторяющихся слов внутри ячейки Excel

Второй аргумент УНИК — ИСТИНА — нужен потому, что ТЕКСТРАЗД раскладывает слова по столбцам, и сравнивать нужно столбцы, а не строки.

Удаление повторов слов формулой
B3=ОБЪЕДИНИТЬ(" ";ИСТИНА;УНИК(ТЕКСТРАЗД(A3;" ");ИСТИНА))
AB
1ТекстБез повторов слов
2купить диван диван недорогокупить диван недорого=ОБЪЕДИНИТЬ(" ";ИСТИНА;УНИК(ТЕКСТРАЗД(A2;" ");ИСТИНА))
3Москва москва руМосква ру=ОБЪЕДИНИТЬ(" ";ИСТИНА;УНИК(ТЕКСТРАЗД(A3;" ");ИСТИНА))
4кот кот коткот=ОБЪЕДИНИТЬ(" ";ИСТИНА;УНИК(ТЕКСТРАЗД(A4;" ");ИСТИНА))

УНИК не различает регистр: «Москва» и «москва» считаются одним словом, остаётся первое. Слова со знаками препинания («диван,» и «диван») для формулы разные.

В английском Excel: =TEXTJOIN(" ",TRUE,UNIQUE(TEXTSPLIT(A2," "),TRUE))

Удалить одно и то же слово в каждой строке

Если нужно убрать конкретное слово, которое повторяется во многих ячейках (например, «купить»), используйте формулу =СЖПРОБЕЛЫ(ПОДСТАВИТЬ(" "&A2&" ";" купить ";" ")) — пробелы по краям защищают от удаления фрагментов внутри других слов. Подробнее — в статье как удалить определённое слово из всех ячеек. А если нужно удалить повторяющиеся ячейки в столбце, а не слова, — смотрите как удалить дубликаты в столбце.

Удалить повторы слов в ячейках в 2 клика

Формулы это здорово, но их нужно запоминать, вводить или где-то хранить, если не хочется запоминать. Да и не во всех версиях Excel есть подобные функции - только в Microsoft 365, Excel 2024 и онлайн-версии Excel.

Можно ли обойтись без формул? Да, если у вас есть надстройка !SEMTools!

С помощью надстройки удалить повторы слов в ячейках можно буквально в 2 клика. Процедура производит удаление повторяющихся слов независимо от регистра. Макрос находится на вкладке «УДАЛИТЬ» в меню «Удалить слова». Ниже — наглядная инструкция:

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

Как видно в демонстрации, помимо обычного удаления всех повторов, можно удалять повторы по условию:

  • Только числа
  • Только английские слова (определяются по латинице)
  • Только русские слова (определяются по кириллице)
  • Только слова, идущие подряд

Такие возможности вряд ли вообще когда-либо будут реализованы в штатных функциях или процедурах Excel.

Удалить повторяющиеся слова с учетом словоформ

Иногда повторами можно считать не только полностью совпадающие слова, но и другие формы тех же слов. Для того, чтобы произвести такое удаление, потребуется лемматизация слов, чтобы производить сравнение их лемм. Чтобы осуществить подобное, в !SEMTools Pro был подключен модуль морфологии, позволяющий делать много чудесных вещей, которые оригинальный Excel вряд ли когда-либо сможет:

Перед запуском процедуры нужно скачать и открыть словарь лемм, он и используется для удаления повторов слов независимо от их словоформ. Из слов с одинаковой леммой остается слово, идущее в ячейке первым по порядку.

Макрос также работает независимо от регистра — здравый смысл подсказывает, что слово остается словом вне зависимости от регистра символов в нем. Однако, если есть кейсы, где необходим чувствительный к регистру поиск и удаление — можно обратиться к автору.

Удалить повторяющиеся слова в ячейках с учетом их словоформ
Удалить повторяющиеся слова в ячейках с учетом их словоформ

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

Иногда, например, при семантическом анализе текста, удаление повторов слов нужно произвести не в каждой ячейке, а по всему диапазону ячеек. Помимо выделения уникальных слов, может быть интересно вычислить и количество уникальных слов в тексте. Здесь вам поможет раздел про составление частотного словаря n-gram.

Перед тем, как производить все указанные процедуры, рекомендуется удалить все знаки препинания из ячеек Excel, т.к. слово со знаком препинания для Excel — уже другое слово.

Удалить повторяющиеся слова во всем столбце

Если список заранее не известен, его можно составить, посчитав самые повторяющиеся слова в тексте. Если это короткие слова, есть риск повредить данные при обычной их замене на пустоту. Эту проблему решает макрос «Удалить слова из списка».

Если же нужно удалить внутри столбца все повторы, кроме первого, можно воспользоваться инструментом в группе SEO & PPC:

Удалить повторы слов во всём столбце

Почему повторы слов не удаляются

  • Слова со знаками препинания остаются. «диван,» и «диван» — разные слова для формулы. Сначала удалите пунктуацию.
  • В результате пустые места или двойные пробелы. В исходном тексте было несколько пробелов подряд, и ТЕКСТРАЗД создал пустые «слова». Оберните A2 в СЖПРОБЕЛЫ: ТЕКСТРАЗД(СЖПРОБЕЛЫ(A2);" ").
  • Формула даёт #ИМЯ?. ТЕКСТРАЗД появилась только в Microsoft 365 и Excel 2024. В других версиях используйте процедуру !SEMTools.
  • Не удаляются «диван» и «диваны». Это разные словоформы — для них нужна процедура удаления повторов с учётом словоформ.

Удаление повторяющихся слов — частые вопросы

Как удалить повторяющиеся слова в ячейке Excel?

В Excel 365 — формулой =ОБЪЕДИНИТЬ(" ";ИСТИНА;УНИК(ТЕКСТРАЗД(A1;" ");ИСТИНА)). В любой версии — процедурой !SEMTools «Удалить слова → Повторы».

Как удалить одно и то же слово во всех ячейках?

Через Ctrl+H (найти слово, заменить на пустоту) или формулой с ПОДСТАВИТЬ и пробелами по краям, чтобы не задеть части других слов.

Как удалить повторы слов в столбце?

Если повторяются целые ячейки — инструментом «Данные → Удалить дубликаты». Если слова повторяются в разных ячейках — процедурой удаления повторов во всём столбце из группы SEO & PPC !SEMTools.

Можно ли удалить повторы с учётом словоформ?

Да, в !SEMTools Pro: процедура сравнивает леммы слов, и из «диван диваны» останется только «диван».

Удалить повторяющиеся слова в каждой ячейке — все, только подряд идущие, только числа или с учётом словоформ — и повторы по всему столбцу можно в 2 клика с !SEMTools.
!SEMTools решает эту и сотни других задач в пару кликов!

Итоги: как удалить повторяющиеся слова в Excel

ЗадачаСпособ
Повторы внутри ячейки (Excel 365)=ОБЪЕДИНИТЬ(" ";ИСТИНА;УНИК(ТЕКСТРАЗД(A1;" ");ИСТИНА))
Одно и то же слово во всех ячейкахCtrl+H или ПОДСТАВИТЬ с пробелами
Повторы с условиями, в любой версииПроцедура !SEMTools
С учётом словоформ!SEMTools Pro + словарь лемм
Повторяющиеся ячейки в столбцеДанные → Удалить дубликаты

Надеюсь, на этой странице вы нашли то, что искали. Вас наверняка заинтересуют и похожие операции: найти повторяющиеся слова и удалить список слов.

Оставить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

*