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 перед объединением таблиц.