7 проверенных способов найти одинаковые данные в двух столбцах Excel

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

В этой статье мы разберём методы разной сложности: от простых формул ЕСЛИ и ПОИСКПОЗ до продвинутых инструментов вроде Power Query и Условного форматирования. Вы узнаете, как не только найти совпадения, но и визуально их выделить, отсортировать или экспортировать в отдельный список. А ещё — как избежать типичных ошибок, которые портят результаты даже у опытных пользователей.

Если вы никогда не работали с формулами массива или боитесь "сломать" данные, не переживайте: мы начнём с базовых методов, которые освоит даже новичок. Для тех, кто хочет оптимизировать процесс, есть разделы про автоматизацию через VBA и динамические массивы (доступны в Excel 365). Готовы сэкономить время? Тогда приступим!

1. Простой поиск совпадений с помощью функции ЕСЛИ

Начнём с самого доступного метода — использования функции ЕСЛИ (или IF в английской версии). Этот способ подходит для небольших таблиц (до 10 000 строк) и не требует знания сложных формул.

Допустим, у вас есть два столбца: A (список сотрудников отдела продаж) и B (список сотрудников, прошедших обучение). Вам нужно проверить, кто из продажников прошёл обучение. Вставьте в ячейку C2 формулу:

=ЕСЛИ(СЧЁТЕСЛИ($B:$B; A2)>0; "Есть в обоих"; "Только в A")

Разберём, как она работает:

  • 🔍 СЧЁТЕСЛИ($B:$B; A2) — ищет значение из A2 во всём столбце B. Если находит, возвращает количество вхождений (минимум 1).
  • 📌 "Есть в обоих" — текст, который появится, если совпадение найдено.
  • "Только в A" — текст, если совпадений нет.

Протяните формулу вниз до конца списка — и вы сразу увидите, какие данные дублируются. Минус метода: если в столбце B есть повторяющиеся значения, формула не покажет, сколько именно раз они встречаются.

2. Поиск с возвратом позиции: функция ПОИСКПОЗ

Если вам нужно не просто подтвердить наличие совпадения, а узнать точное местоположение дубликата в другом столбце, используйте ПОИСКПОЗ (MATCH). Эта функция возвращает номер строки, где найдено совпадение.

Пример: в столбце A — артикулы товаров, в B — артикулы из нового прайса. Введите в C2:

=ПОИСКПОЗ(A2; $B$2:$B$100; 0)

Аргументы функции:

  • 📍 A2 — искомое значение (артикул из первого столбца).
  • 📄 $B$2:$B$100 — диапазон поиска (зафиксирован абсолютными ссылками).
  • 🔢 0 — тип поиска (0 означает "точное совпадение").

Результат:

  • ✅ Если артикул найден, вы увидите номер строки (например, 5 означает, что совпадение в B5).
  • ❌ Если нет — ошибка #Н/Д (Not Found).
📊 Какой версии Excel вы пользуетесь?
Excel 2010 или старше
Excel 2013-2019
Excel 365 (подписка)
Mac-версия Excel
Другая

Важный нюанс: ПОИСКПОЗ находит первое совпадение сверху. Если дубликатов несколько, функция проигнорирует остальные. Чтобы найти все вхождения, потребуется формула массива (см. раздел 5).

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

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

Инструкция по шагам:

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

Теперь все ячейки в столбце A, которые есть и в столбце B, будут подсвечены. Плюс метода: изменения видны сразу, не нужно добавлять вспомогательные столбцы. Минус: если данные в столбце B изменятся, форматирование не обновится автоматически — придётся пересчитывать вручную (F9).

Как обновить условное форматирование?

Нажмите F9 (пересчёт формул) или перейдите на вкладку ДанныеОбновить все. Если используете таблицы Excel, форматирование обновляется автоматически.

4. Использование функции ВПР для поиска совпадений

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

Пример: в столбце A — IDs клиентов, в B — их email. В столбце D — IDs из другой базы. Введите в E2:

=ВПР(D2; $A$2:$B$100; 2; ЛОЖЬ)

Расшифровка аргументов:

  • 🔑 D2 — искомый ID.
  • 📊 $A$2:$B$100 — таблица поиска (первый столбец — IDs, второй — email).
  • 🔢 2 — номер столбца, откуда берётся результат (email).
  • ⚠️ ЛОЖЬ — ищем точное совпадение.

Результат:

  • ✉️ Если ID найден, вернётся email клиента.
  • ❌ Если нет — ошибка #Н/Д.
⚠️ Внимание: ВПР работает только если искомое значение находится в первом столбце диапазона поиска. Если ваши данные расположены иначе, используйте ИНДЕКС/ПОИСКПОЗ (см. следующий раздел).

5. Продвинутый поиск: формулы массива и ИНДЕКС/ПОИСКПОЗ

Для сложных задач, где нужно найти все совпадения (не только первое) или работать с несмежными диапазонами, подходят формулы массива. Рассмотрим два варианта.

Способ 1: Поиск всех вхождений с помощью СТРОКА

Допустим, в столбце A — список городов, а в B — те же города в произвольном порядке. Чтобы найти все строки, где города совпадают, введите в C2 как формулу массива (завершите ввод Ctrl+Shift+Enter в старых версиях Excel):

=ЕСЛИОШИБКА(НАИМЕНЬШИЙ(ЕСЛИ($A$2:$A$100=$B2; СТРОКА($A$2:$A$100)-1); СТРОКА(A1)); "")

Формула вернёт номера строк из столбца A, где найдены совпадения с текущей ячейкой B2.

Способ 2: Комбинация ИНДЕКС/ПОИСКПОЗ для гибкого поиска

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

=ИНДЕКС($A$2:$A$100; ПОИСКПОЗ(B2; $A$2:$A$100; 0))

Эта формула найдёт значение из B2 в столбце A и вернёт его (полезно для проверки точности данных).

Убедиться, что нет пустых ячеек в диапазонах|Проверить отсутствие скрытых символов (пробелов, неразрывных пробелов)|Отсортировать данные, если требуется поиск первого/последнего вхождения|Удалить дубликаты, если они мешают анализу-->

6. Power Query: автоматизированный поиск совпадений

Для больших таблиц (100 000+ строк) или регулярных задач лучше использовать Power Query — инструмент для преобразования данных, встроенный в Excel 2016+ и Excel 365. Он позволяет объединять таблицы, находить совпадения и очищать данные без формул.

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

  1. Выделите исходные данные и на вкладке Данные нажмите Из таблицы/диапазона (или Get Data → From Table/Range).
  2. В редакторе Power Query нажмите ГлавнаяОбъединить запросыОбъединение.
  3. Выберите второй диапазон данных и укажите столбцы для сравнения (например, ID в обеих таблицах).
  4. В типе объединения выберите Внутреннее (только совпадения) или Левое внешнее (все данные из первой таблицы + совпадения).
  5. Нажмите ОК и Закрыть и загрузить.

Результат: новая таблица с совпадающими записями. Преимущества:

  • ⚡ Обрабатывает миллионы строк без зависаний.
  • 🔄 Легко обновляется при изменении исходных данных.
  • 📊 Можно добавлять дополнительные столбцы с расчётами.
⚠️ Внимание: Если в столбцах для сравнения есть ведущие пробелы или разные регистры (например, "Москва" vs "москва"), Power Query не найдёт совпадений. Используйте функцию TRIM и UPPER для очистки данных перед объединением.
Метод Сложность Макс. строк Возвращает Обновление
ЕСЛИ+СЧЁТЕСЛИ 10 000 Текст ("Есть"/"Нет") Ручное (F9)
ПОИСКПОЗ ⭐⭐ 100 000 Номер строки Авто
Условное форматирование 50 000 Визуальная подсветка Ручное (F9)
Power Query ⭐⭐⭐ 1 000 000+ Новая таблица Авто
Формулы массива ⭐⭐⭐⭐ 100 000 Список вхождений Авто

7. Автоматизация через VBA: макрос для поиска совпадений

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

Пример макроса, который выделяет цветом совпадающие ячейки в столбцах A и B:

Sub FindMatches()

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(200, 255, 200) ' Светло-зелёный

End If

Next cell

End Sub

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

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

Макрос работает в 5–10 раз быстрее, чем формулы на больших данных (100 000+ строк), и не требует пересчёта при открытии файла.

FAQ: Частые вопросы о поиске совпадений в Excel

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

Да! В формулах просто укажите имя листа перед диапазоном. Например:

=СЧЁТЕСЛИ(Лист2!$B:$B; Лист1!A2)

Для ВПР:

=ВПР(A2; Лист2!$A$2:$B$100; 2; ЛОЖЬ)
Как найти совпадения с учётом регистра (например, "текст" ≠ "ТЕКСТ")?

Стандартные функции Excel регистронезависимы. Для чувствительного поиска используйте:

=ЕСЛИ(СУММПРОИЗВ(--(ТОЧНО($A$2:$A$100; B2))); "Есть"; "Нет")

Или в Power Query добавьте столбец с функцией Text.Upper перед сравнением.

Почему ПОИСКПОЗ возвращает #Н/Д, хотя данные есть?

Причины:

  • 🔍 В данных есть невидимые символы (пробелы, переносы строк). Используйте =ПЕЧСИМВ(A2) для очистки.
  • 📏 Типы данных не совпадают (например, текст vs число). Преобразуйте оба столбца в один формат.
  • 🔢 В третьем аргументе ПОИСКПОЗ стоит 1 (поиск приблизительного совпадения). Замените на 0.
Как экспортировать только совпадающие строки в новый лист?

Способ 1: Используйте Power Query (раздел 6) и выберите тип объединения Внутреннее.

Способ 2: Добавьте вспомогательный столбец с формулой =ЕСЛИ(СЧЁТЕСЛИ(Лист2!$A:$A; A2); "Да"; ""), отфильтруйте по "Да" и скопируйте видимые ячейки на новый лист.

Можно ли искать совпадения по нескольким критериям (например, ФИО + дата)?

Да! Объедините критерии в один столбец с помощью &:

=A2 & "|" & B2

Затем ищите совпадения по этому составному ключу. Например:

=СЧЁТЕСЛИ($D$2:$D$100; A2 & "|" & B2)

В Power Query для этого используйте Merge Columns перед объединением таблиц.