Одна из наиболее популярных операций в Excel – удаление дублей. Но каждый вкладывает в это понятие что-то своё. Поэтому способов удалить повторяющиеся значения в Excel довольно много.
Почему так? Рассмотрим под микроскопом механику процесса удаления дубликатов:
- В любом удалении дублей есть объект (собственно, что мы считаем дублем). И это может быть:
- ячейка
- значение ячейки (это другое!)
- строка целиком
- Дублем кто-то считает все повторы кроме первого, а кто-то – все повторяющиеся значения, включая первое (технически ведь и оно является дубликатом остальных).
- Проблема неявных дублей, заключается она в том, какие допущения возможны при сравнении.
- Учитывать ли лишние пробелы в ячейках?
- удалять ли пунктуацию?
- что делать, если в ячейках те же слова, но в разном порядке?
- учитывать ли склонение, падеж, число и другие словоформы тех же слов?
Комбинации различных вариантов понимания процесса и порождают уйму способов удалить дубли. Постараюсь детально рассмотреть каждый из них и дать ответы на все вопросы.
Удалить дубликаты внутри одного столбца
Если столбец один, процедуру легко произвести с помощью штатного инструмента удаления дубликатов. Инструмент довольно удобен, когда нужно просто удалить дубликаты и не беспокоят остальные данные на листе:

Но проблема этого инструмента в том, что он удаляет либо ячейки, либо строки целиком! Если же столбцов с данными несколько, это приведет к тому, что оставшиеся ячейки сместятся относительно других столбцов. Если это ваш случай, смотрите статью о том, как удалить дубликаты без смещения остальных значений. Иными словами, как удалить лишь дублирующиеся значения ячеек. А не сами дублирующиеся ячейки.
Удалить дубли ячеек другого столбца
Чтобы сравнить два столбца и найти между ними дублирующиеся значения, есть пара штатных возможностей в Excel. Как ими пользоваться для удаления повторов, описано в соответствующих разделах:
- Функция ВПР
- Условное форматирование
В своей надстройке я решил максимально упростить данный процесс. Смотрите, как это делать с её помощью:

Проблема с неявными дублями
Зачастую данные в ячейках бывают практически неразличимы визуально, или могут являться эквивалентными с точки зрения человека, но компьютер штука точная, и даже лишний пробел для него разница в 1 символ, а значит ячейки не равны. При этом регистр он по умолчанию все же игнорирует :)
Когда значения ячеек отличаются лишь пунктуацией или порядком слов, они называются неявными дублями. Смотрите статью о том, как найти и удалить неявные дубли в Excel.
Словоформы и лемматизация
Когда значения ячеек в целом состоят из тех же слов, но слова отличаются числом, падежом, временем и т.д., иными словами, слова различаются их словоформами, можно прибегнуть к такому процессу, как лемматизация текста.
Соответствующий инструмент-лемматизатор доступен в моей надстройке !SEMTools и позволяет вернуть всем словам одну и ту же для всех начальную форму. Что, в свою очередь, позволит найти уже по ним повторяющиеся значения и удалить их. Смотрите соответствующую статью: Лемматизация в Excel.