Как найти два одинаковых значения в столбцах Excel: полное руководство

Поиск повторяющихся данных в Microsoft Excel — задача, с которой сталкивается каждый второй пользователь. Вы загрузили базу клиентов и хотите выявить дубликаты email? Или проверяете отчёт о продажах на наличие повторных транзакций? Возможно, вам нужно сравнить два списка и найти общие элементы? В этой статье мы разберём 7 проверенных методов — от простейших до продвинутых, которые работают во всех версиях Excel (включая Excel 2010, 2016, 2019, 2021 и Microsoft 365).

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

Важно: все примеры в статье приведены для русскоязычной версии Excel. Если у вас англоязычная версия, замените названия функций (например, ЕСЛИIF, СЧЁТЕСЛИCOUNTIF). Также учтите, что в MacOS сочетания клавиш могут отличаться (например, Ctrl+C заменяется на Cmd+C).

1. Условное форматирование — самый быстрый способ

Если вам нужно визуально выделить дубликаты в одном или нескольких столбцах, условное форматирование — идеальный вариант. Этот метод не требует знания формул и работает за считанные секунды даже на больших объёмах данных (до 100 000 строк).

Как это сделать:

  1. Выделите диапазон ячеек, в котором хотите найти повторяющиеся значения (например, столбец A2:A100).
  2. Перейдите на вкладку ГлавнаяУсловное форматированиеПравила выделения ячеекПовторяющиеся значения.
  3. В открывшемся окне выберите формат для дублей (например, красный текст на жёлтом фоне) и нажмите ОК.

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

  • Плюсы: быстро, наглядно, не требует формул.
  • Минусы: не показывает количество дублей, не работает между разными столбцами.
  • 🔹 Когда использовать: для визуального анализа одного столбца (например, проверки списка email на дубли).

2. Формула СЧЁТЕСЛИ для поиска дублей в одном столбце

Если условного форматирования недостаточно и вам нужно получить список дубликатов или посчитать их количество, используйте функцию СЧЁТЕСЛИ (COUNTIF в английской версии). Эта формула подсчитывает, сколько раз значение встречается в заданном диапазоне.

Допустим, у вас есть список товаров в столбце A (диапазон A2:A100), и вы хотите найти повторяющиеся наименования. В ячейку B2 введите формулу:

=ЕСЛИ(СЧЁТЕСЛИ($A$2:$A$100; A2)>1; "Дубликат"; "")

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

Товар (столбец A) Результат (столбец B)
Ноутбук HP Pavilion
Мышь Logitech MX Master
Ноутбук HP Pavilion Дубликат
Клавиатура Keychron K2
Мышь Logitech MX Master Дубликат

Если вам нужно посчитать количество дублей для каждого уникального значения, используйте формулу массива (введите её с помощью Ctrl+Shift+Enter в старых версиях Excel):

=СЧЁТЕСЛИ($A$2:$A$100; A2)-1

Выделите столбец для анализа|Введите формулу в соседнюю ячейку|Протяните формулу до конца списка|Отфильтруйте результаты-->

3. Поиск одинаковых значений в двух столбцах (функция ВПР и INDEX+MATCH)

Частая задача — сравнить два списка и найти общие элементы. Например, у вас есть список клиентов за прошлый месяц (столбец A) и за текущий (столбец B), и вам нужно выявить тех, кто покупал в обоих периодах. Для этого подойдёт комбинация функций ВПР (VLOOKUP) или ИНДЕКС+ПОИСКПОЗ (INDEX+MATCH).

Способ 1. Функция ВПР

В ячейку C2 введите формулу:

=ЕСЛИНЕОШ(ВПР(B2; $A$2:$A$100; 1; 0); ""; "Есть в обоих списках")

Эта формула проверяет, есть ли значение из B2 в диапазоне A2:A100. Если да — выводит сообщение "Есть в обоих списках".

Способ 2. INDEX+MATCH (более надёжный метод)

Функция ВПР имеет ограничения (например, не работает, если искомое значение находится правее диапазона поиска). Альтернатива — комбинация ИНДЕКС+ПОИСКПОЗ:

=ЕСЛИНЕОШ(ИНДЕКС($A$2:$A$100; ПОИСКПОЗ(B2; $A$2:$A$100; 0)); ""; "Есть в обоих списках")

Оба метода позволяют не только находить совпадения, но и извлекать дополнительную информацию из первого списка. Например, если в столбце A у вас email клиентов, а в B — только имена, вы можете автоматически подтянуть email для совпадающих имён.

Условное форматирование|Формулы (СЧЁТЕСЛИ, ВПР)|Power Query|Макросы VBA|Не знаю, что это-->

4. Использование функции ЕСЛИМН для сравнения нескольких условий

Если вам нужно найти дубликаты, учитывая несколько критериев (например, одинаковые email и номер телефона), используйте функцию ЕСЛИМН (IFS в новых версиях Excel или вложенные ЕСЛИ в старых).

Допустим, у вас в столбце A — email, в B — телефоны. Чтобы найти полные дубли (когда совпадают и email, и телефон), введите в C2:

=ЕСЛИ(И(СЧЁТЕСЛИ($A$2:$A$100; A2)>1; СЧЁТЕСЛИ($B$2:$B$100; B2)>1); "Полный дубль"; "")

Если вам нужно найти дубли по хотя бы одному критерию (email или телефон), замените И на ИЛИ:

=ЕСЛИ(ИЛИ(СЧЁТЕСЛИ($A$2:$A$100; A2)>1; СЧЁТЕСЛИ($B$2:$B$100; B2)>1); "Дубль по email или телефону"; "")

Для сложных условий (например, поиск дублей с учётом регистра или пробелов) используйте функцию СОВПАД (EXACT):

=ЕСЛИ(СЧЁТЕСЛИ($A$2:$A$100; A2)+СЧЁТЕСЛИ($B$2:$B$100; B2)-2>0; "Дубль"; "")
Почему формула возвращает #ЗНАЧ!

Ошибка #ЗНАЧ! появляется, если диапазоны в формуле имеют разный размер. Убедитесь, что в СЧЁТЕСЛИ($A$2:$A$100; A2) и СЧЁТЕСЛИ($B$2:$B$100; B2) одинаковое количество строк (в данном случае 99 строк: с A2 по A100).

5. Power Query — инструмент для больших данных

Если вы работаете с большими массивами данных (десятки тысяч строк) или вам нужно автоматизировать поиск дублей, используйте Power Query (доступен в Excel 2016 и новее). Этот инструмент позволяет:

  • 🔍 Находить дубли по одному или нескольким столбцам.
  • 📊 Группировать данные и считать количество повторений.
  • 🔄 Автоматически обновлять результаты при изменении исходных данных.
  • 📤 Экспортировать уникальные или дублированные записи в отдельную таблицу.

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

  1. Выделите исходную таблицу и нажмите Данные → Из таблицы/диапазона (в Excel 2016+) или Данные → Получение данных → Из таблицы/диапазона (в Excel 2019+).
  2. В открывшемся редакторе Power Query выделите столбец, по которому ищете дубли.
  3. На вкладке Главная нажмите Группировка (Group By).
  4. В настройках группировки выберите:
    • Столбец: тот, по которому ищете дубли.
    • Новое имя столбца: "Количество".
    • Операция: Количество всех строк (Count Rows).
  • Нажмите ОК, затем Закрыть и загрузить.
  • В результате вы получите таблицу, где каждому уникальному значению соответствует количество его повторений. Чтобы вывести только дубли, отфильтруйте столбец "Количество" по значению >1.

    6. Макросы VBA для автоматического поиска дублей

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

    • 🔍 Ищет дубли в выделенном диапазоне.
    • 🎨 Выделяет их красным цветом.
    • 📋 Создаёт отдельный лист с списком дубликатов.

    Как использовать:

    1. Нажмите Alt+F11, чтобы открыть редактор VBA.
    2. В меню выберите Insert → Module.
    3. Вставьте следующий код:
    Sub FindDuplicates()
    

    Dim rng As Range, cell As Range, dupDict As Object

    Dim ws As Worksheet, newWs As Worksheet

    Dim i As Long, lastRow As Long

    ' Создаём словарь для хранения дублей

    Set dupDict = CreateObject("Scripting.Dictionary")

    ' Получаем выделенный диапазон

    Set rng = Selection

    Set ws = ActiveSheet

    ' Проходим по всем ячейкам и ищем дубли

    For Each cell In rng

    If dupDict.exists(cell.Value) Then

    dupDict(cell.Value) = dupDict(cell.Value) + 1

    cell.Interior.Color = RGB(255, 100, 100) ' Красный цвет

    Else

    dupDict.Add cell.Value, 1

    End If

    Next cell

    ' Создаём новый лист для дублей

    Set newWs = Worksheets.Add

    newWs.Name = "Дубликаты"

    newWs.Cells(1, 1).Value = "Значение"

    newWs.Cells(1, 2).Value = "Количество"

    ' Записываем дубли на новый лист

    i = 2

    For Each Key In dupDict.Keys

    If dupDict(Key) > 1 Then

    newWs.Cells(i, 1).Value = Key

    newWs.Cells(i, 2).Value = dupDict(Key)

    i = i + 1

    End If

    Next Key

    ' Форматируем новый лист

    newWs.Columns("A:B").AutoFit

    MsgBox "Поиск дублей завершён! Результаты на листе 'Дубликаты'.", vbInformation

    End Sub

    Чтобы запустить макрос:

    1. Вернитесь в Excel (Alt+Q).
    2. Выделите диапазон для анализа.
    3. Нажмите Alt+F8, выберите макрос FindDuplicates и нажмите Выполнить.
    ⚠️ Внимание: Макросы могут содержать вирусы. Запускайте только код из проверенных источников. Если вы скачали файл с макросом из интернета, перед открытием проверьте его антивирусом и включите режим Отключить макросы при первом запуске.

    7. Специальные надстройки для Excel

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

    • 🔍 Искать дубли по нескольким столбцам одновременно.
    • 📊 Визуализировать результаты в виде диаграмм.
    • 🔄 Автоматически удалять или объединять дубликаты.
    • 📁 Сравнивать данные из разных файлов.

    Популярные надстройки:

    Надстройка Функции Цена Сайт
    Ablebits Duplicate Remover Поиск и удаление дублей, сравнение таблиц, работа с большими файлами От $39 ablebits.com
    Kutools for Excel Выделение, удаление, объединение дублей, более 300 инструментов От $39/год extendoffice.com
    ASAP Utilities Поиск дублей, очистка данных, более 300 функций Бесплатно asap-utilities.com

    Преимущества надстроек:

    • Скорость: обрабатывают миллионы строк за секунды.
    • 🎛️ Гибкость: можно настроить критерии поиска (учёт регистра, пробелов, символов).
    • 📈 Автоматизация: сохраняют настройки для повторного использования.

    Недостатки:

    • 💰 Платные версии могут быть дорогими для разового использования.
    • 🔌 Требуют установки и могут конфликтовать с другими надстройками.
    ⚠️ Внимание: Перед установкой надстройки создайте резервную копию файла. Некоторые инструменты могут изменять исходные данные без возможности отмены (например, автоматически удалять дубли).

    FAQ: Ответы на частые вопросы

    Как найти дубли с учётом регистра (например, "Иванов" и "иванов")?

    Стандартная функция СЧЁТЕСЛИ не учитывает регистр. Используйте комбинацию СУММПРОИЗВ и СОВПАД:

    =СУММПРОИЗВ(--(СОВПАД(A2; $A$2:$A$100))) - 1

    Эта формула вернёт количество точных совпадений (включая регистр). Введите её как формулу массива (в старых версиях Excel нажмите Ctrl+Shift+Enter).

    Как удалить дубли, оставив только уникальные значения?

    Выделите диапазон → Данные → Удалить дубликаты. В открывшемся окне отметьте столбцы, по которым нужно искать повторы, и нажмите ОК. Excel удалит все повторяющиеся строки, оставив только первое вхождение.

    Внимание: эта операция необратима! Перед удалением скопируйте исходные данные на другой лист.

    Почему формула СЧЁТЕСЛИ не находит дубли в тексте с пробелами?

    Функция СЧЁТЕСЛИ чувствительна к пробелам и невидимым символам. Чтобы очистить данные, используйте:

    =СЖПРОБЕЛЫ(A2)  ' Удаляет лишние пробелы
    

    =ПЕЧСИМВ(A2) ' Удаляет все непечатаемые символы

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

    Можно ли найти дубли в двух разных файлах Excel?

    Да, для этого:

    1. Откройте оба файла.
    2. В основном файле используйте формулу ВПР или ИНДЕКС+ПОИСКПОЗ, ссылаясь на второй файл. Пример:
    =ЕСЛИНЕОШ(ВПР(A2; [Книга2.xlsx]Лист1!$A$2:$A$100; 1; 0); ""; "Есть в обоих файлах")

    Где [Книга2.xlsx] — имя второго файла, Лист1 — имя листа.

    Важно: оба файла должны быть открыты, иначе формула вернёт ошибку.

    Как найти дубли в Google Таблицах?

    В Google Sheets используйте те же принципы, но с английскими названиями функций:

    =COUNTIF(A:A; A2)>1  ' Аналог СЧЁТЕСЛИ
    

    =ARRAYFORMULA(COUNTIF(A:A; A2:A2)-1) ' Формула массива для всего столбца

    Для условного форматирования: Формат → Условное форматирование → Настраиваемые формулы и введите =COUNTIF(A:A; A1)>1.