Возможности !SEMTools

Найти повторяющиеся значения в столбцах Excel — на поверку не такая уж и простая задача. Есть пара встроенных инструментов, таких как условное форматирование и инструмент удаления дубликатов, но они не всегда подходят для решения реальных задач.

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

Ключевых моментов несколько:

  • Какие конкретно повторяющиеся значения — повторы слов в ячейках, сами повторяющиеся ячейки или повторяющиеся строки?
  • Если ячейки, то:
    • Какие ячейки мы готовы считать дубликатами — все кроме первой или включая ее?
    • Считаем ли дублями строки, отличающиеся только пробелами до/после слов или лишними пробелами между словами?
    • Где мы будем искать дубли — в одном столбце, в двух столбцах или в нескольких?
    • А может, нам нужно найти неявные дубли?

Сначала рассмотрим простые примеры.

Найти и выделить цветом дубликаты в Excel

Для выделения дубликатов ячеек подходит инструмент условное форматирование. В процедуре есть ряд готовых правил, в том числе и для повторяющихся значений.

Найти инструмент можно на вкладке программы «Главная»:

Условное форматирование - выделение повторяющихся значений на панели Excel
Вызов процедуры условного форматирования для подсветки повторяющихся значений

Процедура интуитивно понятна:

  1. Выделяем диапазон, в котором хотим найти дубликаты.
  2. Вызываем процедуру.
  3. Выбираем форматирование для отобранных ячеек (есть предустановленные форматы или же можно задать свой вариант).
Выбор цвета для повторяющихся ячеек
Второй шаг процедуры — выбор цветов заливки и текста

Важно понимать, что процедура находит дубликаты внутри всего диапазона и поэтому может не быть применима для сравнения двух столбцов. Достаточно иметь дубликаты внутри одного столбца — и процедура подсветит их оба, хотя во втором их не будет:

Неочевидный результат работы условного форматирования с дублями внутри диапазона
Условное форматирование меняет цвет дубликатов внутри столбца

Данное поведение является неочевидным, и об этом факте часто забывают. Если дальше вы планируете удалять повторы, можете потерять оба варианта в одном столбце.

Как избежать подобной ситуации, если хочется найти именно дубли в другом столбце? Простейшее решение: удалить дубли внутри каждого столбца перед применением условного форматирования.

Но есть и другие решения. О них дальше.

Формула проверки наличия дублей в диапазонах

Использование собственной формулы для проверки дубликатов в списке или диапазоне имеет ряд преимуществ, единственная задача — составление такой формулы. Но её я возьму на себя.

Внутри диапазона

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

=СУММПРОИЗВ(СЧЁТЕСЛИ(диапазон;тот-же-диапазон)-1)>0

Так выглядит на практике применение формулы:

Формула возвращает ИСТИНА, если в адресованном диапазоне появляется дубликат

В чем же преимущество такой формулы, ведь она полностью дублирует опцию условного форматирования, спросите вы.

А дело все в том, что формулу несложно видоизменить и улучшить.

Например, можно улучшить эффективность формулы, добавив в нее функцию СЖПРОБЕЛЫ .Это позволит находить дубликаты, отличающиеся незаметными лишними пробелами:

=СУММПРОИЗВ(--(СЖПРОБЕЛЫ(ячейка)=СЖПРОБЕЛЫ(диапазон)))>1

Эта формула слегка отличается, так как проверяет встречаемость в диапазоне значения одной ячейки.

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

демонстрация использования формулы для поиска дубликатов с неучетом пробелов
Применение формулы для условного форматирования и поиска неявных дубликатов

Обратите внимание на один момент в этой демонстрации: диапазон закреплен ($A$1:$B$4), а искомая ячейка (A1) нет. Именно это позволяет условному форматированию находить все дубликаты в диапазоне.

Быстрый поиск дубликатов с !SEMTools

Когда-то я потратил немало времени, пользуясь перечисленными выше методами поиска повторяющихся значений. Все они мне не нравились. Причина была одна: это попросту медленно. Поэтому я решил сделать отдельные процедура для удаления дубликатов в Excel в своей надстройке.

Давайте покажу, как они работают.

Найти дубли ячеек в столбце, кроме первого

Процедура позволяет выделить все вторые, третьи и т.д. повторяющиеся значения в столбце.

Найти дубли кроме первого

Найти в столбце дубли ячеек, включая первый

Зачастую нужно найти в столбце все повторяющиеся ячейки, включая первую, для того, чтобы далее отфильтровать их все.

Найти дубли в столбце без учета лишних пробелов

Если мы считаем дубликатами фразы, отличающиеся количеством пробелов между словами или после, наша задача — сначала избавиться от лишних пробелов и далее произвести тот же поиск пробелов.

Для первой операции есть отдельный макрос «Удалить лишние пробелы»:

Как найти дубли ячеек, не учитывая лишние пробелы
Найти повторяющиеся значения в Excel и решить сотни других задач поможет надстройка !SEMTools. Скачайте прямо сейчас и убедитесь сами!

Смотрите также:

Удалить дубли без смещения строк

Удалить неявные дубли

Найти повторяющиеся слова в Excel

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