Поиск повторяющихся данных между двумя столбцами в Excel: от простых формул до Power Query

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

Независимо от того, используете ли вы Excel 2010 или последнюю версию Microsoft 365, вы найдёте подходящий способ: от базовых функций ПОИСКПОЗ до продвинутых инструментов вроде Power Query. А если вам нужно не просто найти, но и визуально выделить совпадения — мы покажем, как сделать это с помощью условного форматирования без единой формулы.

Особое внимание уделим нюансам: что делать, если данные в столбцах отсортированы по-разному, как учитывать регистр или пробелы, и почему иногда ВПР возвращает ошибку #Н/Д, хотя дубли явные. Эти мелочи экономят часы работы!

📊 Какой версии Excel вы пользуетесь?
Excel 2010-2016
Excel 2019
Microsoft 365 (онлайн/десктоп)
LibreOffice Calc
Другая

1. Базовый метод: функция ВПР для поиска совпадений

Функция ВПР (или VLOOKUP в английской версии) — самый известный инструмент для поиска совпадающих данных. Она идеально подходит, когда вам нужно проверить, есть ли значения из столбца A в столбце B, и вывести результат в третий столбец.

Формула выглядит так:

=ЕСЛИ(ЕЧИСЛО(ВПР(A2;B:B;1;ЛОЖЬ));"Есть в B";"Нет в B")

Где:

  • 🔹 A2 — первая ячейка столбца, который мы проверяем;
  • 🔹 B:B — столбец, в котором ищем совпадения;
  • 🔹 ЛОЖЬ — точный поиск (без приближений).

⚠️ Внимание: ВПР ищет только первое совпадение сверху вниз. Если в столбце B есть несколько одинаковых значений, функция вернёт позицию самого верхнего. Чтобы найти все вхождения, используйте методы из следующих разделов.

2. Продвинутый поиск: комбинация ИНДЕКС+ПОИСКПОЗ

Сочетание ИНДЕКС + ПОИСКПОЗ (INDEX+MATCH) гибче, чем ВПР, потому что:

  • 🔹 Работает не только слева направо, но и в любом направлении;
  • 🔹 Позволяет искать совпадения в несколько столбцах одновременно;
  • 🔹 Быстрее обрабатывает большие массивы данных.

Формула для поиска повторов между столбцами A и B:

=ЕСЛИОШИБКА(ИНДЕКС(B:B;ПОИСКПОЗ(A2;B:B;0));"Нет";"Есть")

Чтобы найти позицию совпадающего элемента в столбце B, используйте:

=ПОИСКПОЗ(A2;B:B;0)
Эта формула вернёт номер строки, где найдено первое совпадение. Если значения нет — ошибку #Н/Д.

Пример работы:

Столбец A (ищем)Столбец B (где ищем)Результат
ЯблокоГрушаНет
БананБананЕсть (строка 2)
АпельсинЯблокоНет

3. Условное форматирование: визуальное выделение дублей

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

  1. Выделите диапазон в первом столбце (например, A2:A100).
  2. Перейдите на вкладку Главная → Условное форматирование → Создать правило.
  3. Выберите Использовать формулу для определения форматируемых ячеек.
  4. Введите формулу: =СЧЁТЕСЛИ(B:B;A2)>0.
  5. Задайте цвет заливки (например, жёлтый) и нажмите ОК.

Теперь все значения из столбца A, которые есть в столбце B, будут подсвечены. Чтобы выделить дубли в обоих столбцах, повторите шаги для столбца B с формулой =СЧЁТЕСЛИ(A:A;B2)>0.

⚠️ Внимание: Условное форматирование не обновляется автоматически при изменении данных в столбце B. Если вы добавите новые строки, нажмите F9, чтобы пересчитать формулы.

Убедитесь, что в столбцах нет пустых строк|Проверьте регистр (Excel различает "Яблоко" и "яблоко")|Сохраните резервную копию файла|Отключите фильтры перед применением правил-->

4. Поиск с учётом регистра и пробелов

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

=ЕСЛИ(СУММПРОИЗВ(--(ТОЧНОЕ(A2;B:B)));"Есть";"Нет")

Эта формула массива требует подтверждения клавишами Ctrl+Shift+Enter в старых версиях Excel (до 2019).

Для удаления лишних пробелов перед сравнением используйте СЖПРОБЕЛЫ:

=ЕСЛИ(СЧЁТЕСЛИ(B:B;СЖПРОБЕЛЫ(A2));"Есть";"Нет")

Пример разницы:

Столбец AСтолбец BСЧЁТЕСЛИТОЧНОЕ
ExcelexcelЕстьНет
Данные ДанныеЕстьНет
20232023ЕстьЕсть

5. Power Query: поиск дублей в больших таблицах

Если у вас Excel 2016 или новее, Power Query (или Get & Transform) — самый мощный инструмент для работы с большими данными. Он позволяет:

  • 🔹 Объединять столбцы из разных таблиц;
  • 🔹 Искать совпадения с учётом нескольких критериев;
  • 🔹 Автоматизировать обновление результатов.

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

  1. Выделите исходные данные и нажмите Данные → Из таблицы/диапазонаExcel 2016-2019 или Данные → Получить данные → Из таблицы/диапазона в Microsoft 365).
  2. В открывшемся редакторе Power Query выберите Главная → Объединить запросы → Объединить.
  3. Укажите оба столбца для сравнения и тип объединения Внутреннее (оставит только совпадающие строки).
  4. Нажмите Закрыть и загрузить, чтобы вернуть результат в Excel.

Как сохранить запрос для повторного использования?

В редакторе Power Query нажмите Главная → Закрыть и загрузить → Закрыть и загрузить в.... Выберите Только создать соединение. Теперь ваш запрос сохранён в панели Запросы и подключения (справа в Excel), и вы можете обновить данные одним кликом по кнопке Обновить все.

6. Макрос VBA для автоматизации поиска

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

Sub FindDuplicates()

Dim rngA As Range, rngB As Range, cell As Range

Set rngA = Range("A2:A" & Cells(Rows.Count, "A").End(xlUp).Row)

Set rngB = Range("B2:B" & Cells(Rows.Count, "B").End(xlUp).Row)

For Each cell In rngA

If Not IsError(Application.Match(cell.Value, rngB, 0)) Then

cell.Interior.Color = RGB(255, 255, 0) ' жёлтый

End If

Next cell

End Sub

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

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

⚠️ Внимание: Макросы работают только в файлах с расширением .xlsm. Если ваш файл сохранён как .xlsx, Excel заблокирует выполнение кода. Сохраните файл заново через Файл → Сохранить как → Тип файла: Книга Excel с поддержкой макросов (*.xlsm).

7. Сравнение двух листов или книг

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

=ЕСЛИ(СЧЁТЕСЛИ(Лист2!B:B;A2);"Есть на Лист2";"")

Для сравнения с другой книгой укажите путь к файлу:

=ЕСЛИ(СЧЁТЕСЛИ([Книга2.xlsx]Лист1!B:B;A2);"Есть";"")
Важно: Вторая книга должна быть открыта, иначе формула вернёт ошибку.

Если книги закрыты, используйте Power Query:

  1. Создайте запрос для каждого файла (Данные → Получить данные → Из файла → Из книги Excel).
  2. Объедините запросы по ключевому столбцу (как в разделе 5).

FAQ: Частые вопросы о поиске дублей

Можно ли найти повторяющиеся данные в двух столбцах без формул?

Да, с помощью условного форматирования (раздел 3) или Power Query (раздел 5). Также в Excel 2013 и новее есть инструмент Удалить дубликаты на вкладке Данные, но он работает только в пределах одного диапазона.

Почему ВПР не находит совпадения, хотя они есть?

Частые причины:

  • 🔹 В данных есть невидимые символы (пробелы, переносы строк). Используйте СЖПРОБЕЛЫ или ПЕЧСИМВ для очистки;
  • 🔹 Разный регистр (например, "Иванов" vs "иванов"). Примените ПРОПИСН или СТРОЧН;
  • 🔹 Столбец для поиска не отсортирован (для ВПР с параметром ИСТИНА).

Как найти дубли между тремя и более столбцами?

Используйте комбинацию СЧЁТЕСЛИМН (для нескольких критериев) или Power Query:

=ЕСЛИ(ИЛИ(СЧЁТЕСЛИ(B:B;A2); СЧЁТЕСЛИ(C:C;A2)); "Есть"; "Нет")

Для Power Query объедините запросы последовательно: сначала столбцы A и B, затем результат с C.

Можно ли автоматически удалить строки с дублями между двумя столбцами?

Да, с помощью Power Query:

  1. Загрузите данные в Power Query;
  2. Выберите Главная → Объединить запросы → Объединить;
  3. Укажите тип объединения Анти-пересечение (оставит только уникальные строки).

Или используйте фильтр по результату формулы из раздела 1.

Как ускорить поиск дублей в таблице с 100 000+ строк?

Для больших данных:

  • 🔹 Отключите автоматический пересчёт формул (Формулы → Параметры вычислений → Вручную);
  • 🔹 Используйте Power Query или Power Pivot;
  • 🔹 Преобразуйте диапазон в умную таблицу (Ctrl+T), это ускорит фильтрацию.