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

Почему поиск совпадений между столбцами — ключевая задача в Excel

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

К счастью, в Excel есть несколько инструментов для автоматического поиска совпадающих значений между столбцами: от простых формул ВПР и ПОИСКПОЗ до продвинутых функций ФИЛЬТР и Power Query. В этой статье мы разберём все методы — от базовых до профессиональных, — чтобы вы могли выбрать оптимальный вариант для своей задачи. Особое внимание уделим поиску частичных совпадений (например, когда в одном столбце "Иванов И.А.", а в другом — "Иванов Иван Александрович"), так как это одна из самых сложных задач для новичков.

Прежде чем переходить к инструкциям, убедитесь, что ваши данные подготовлены правильно: удалены лишние пробелы (функция СЖПРОБЕЛЫ), приведены к единому регистру (функция ПРОПИСН или СТРОЧН), а также исключены ошибки типа "#Н/Д". Это сэкономит вам часы отладки формул позже.

📊 Как часто вы работаете с дубликатами в Excel?
Ежедневно
Несколько раз в неделю
Редко
Никогда

Способ 1: Формулы для точного совпадения значений

Если вам нужно найти полные совпадения (например, одинаковые артикулы товаров в двух прайс-листах), простейший способ — использовать комбинацию функций ЕСЛИ и СЧЁТЕСЛИ. Предположим, у вас есть два столбца: A2:A100 (Список 1) и B2:B100 (Список 2). В ячейку C2 введите:

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

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

  • 🔹 Плюсы метода: простота, работает во всех версиях Excel (включая 2010).
  • 🔹 Минусы: не подходит для частичных совпадений, медленно работает с большими массивами (100 000+ строк).
  • 🔹 Альтернатива: вместо СЧЁТЕСЛИ можно использовать ПОИСКПОЗ для ускорения вычислений на больших данных.
⚠️ Внимание: Если в ваших данных есть пустые ячейки, формула может выдавать ложные срабатывания. Добавьте проверку на пустоту с помощью ЕПУСТО:

=ЕСЛИ(И(НЕ(ЕПУСТО(A2)); СЧЁТЕСЛИ($B$2:$B$100; A2)>0); "Есть"; "")

Способ 2: Условное форматирование для визуального поиска

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

Выделите диапазон с данными (например, A2:B100), затем:

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

Теперь все ячейки, значения которых повторяются в любом из выделенных столбцов, будут подсвечены. Этот метод особенно удобен для сравнения более двух столбцов — просто расширьте диапазон в формуле (например, $A$2:$D$100 для четырёх столбцов).

Метод Подходит для Скорость Сложность
Формулы (СЧЁТЕСЛИ) Точные совпадения, небольшие массивы Низкая
Условное форматирование Визуальный анализ, средние массивы Средняя ⭐⭐
ВПР/ИНДЕКС-ПОИСКПОЗ Поиск с возвратом данных из другого столбца Высокая ⭐⭐⭐
Power Query Большие данные, сложные условия Очень высокая ⭐⭐⭐⭐

Способ 3: Поиск частичных совпадений (фамилии, адреса, названия)

Одна из самых сложных задач — найти совпадения, когда данные в столбцах не полностью идентичны. Например:

  • 📌 В одном столбце: "ООО Ромашка"
  • 📌 В другом: "Ромашка, общество с ограниченной ответственностью"

Здесь поможет комбинация функций ПОИСК (или НАЙТИ) и ЕСЛИОШИБКА:

=ЕСЛИОШИБКА(ПОИСК($B2; A2); 0)>0

Эта формула вернёт ИСТИНА, если текст из ячейки B2 содержится в A2. Для более гибкого поиска (например, игнорируя регистр) используйте:

=ЕСЛИОШИБКА(ПОИСК(ПРОПИСН($B2); ПРОПИСН(A2)); 0)>0

Для поиска по нескольким ключевым словам (например, "Ромашка" И "ООО") комбинируйте условия с И:

=И(

ЕСЛИОШИБКА(ПОИСК("Ромашка"; A2); 0)>0;

ЕСЛИОШИБКА(ПОИСК("ООО"; A2); 0)>0

)

⚠️ Внимание: Функция ПОИСК чувствительна к регистру в некоторых локализациях Excel. Для надёжности всегда используйте ПРОПИСН или СТРОЧН, чтобы привести текст к единому регистру.

Как искать совпадения с учётом опечаток?

Для поиска похожих (но не идентичных) значений используйте функцию РАССТОЯНИЕ (Levenshtein distance) через VBA или надстройку Fuzzy Lookup от Microsoft. Например, формула =РАССТОЯНИЕ(A2; B2)<2 вернёт ИСТИНА, если строки отличаются не более чем на 2 символа (перестановка букв, опечатка).

Способ 4: Power Query для сложных сравнений

Если вам нужно сравнить столбцы в разных файлах, или данные требуют предварительной очистки (удаление дублей, приведение к единому формату), лучший инструмент — Power Query (доступен в Excel 2016+ как "Получить данные").

Алгоритм действий:

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

Power Query автоматически создаст новую таблицу с совпадениями, где вы сможете увидеть данные из обоих исходных столбцов. Преимущество этого метода — возможность очистки данных на лету (например, удаление лишних пробелов или приведение текста к нижнему регистру) перед сравнением.

Удалить пустые строки|Привести текст к единому регистру|Заменить синонимы (например, "ООО" → "Общество")|Удалить спецсимволы (кавычки, запятые)|-->

Способ 5: Функция ФИЛЬТР (Excel 365 и 2021)

В новых версиях Excel появилась динамическая функция ФИЛЬТР, которая позволяет автоматически извлекать совпадающие значения без формул массива. Например, чтобы получить список уникальных значений, которые есть и в столбце A, и в столбце B, используйте:

=ФИЛЬТР(

УНИК(A2:A100);

СЧЁТЕСЛИ(B2:B100; УНИК(A2:A100))>0

)

Эта формула:

  1. Сначала создаёт список уникальных значений из столбца A (функция УНИК).
  2. Затем фильтрует его, оставляя только те значения, которые встречаются в столбце B (условие СЧЁТЕСЛИ>0).

Результат — динамический массив, который обновляется автоматически при изменении исходных данных. Этот метод идеален для дашбордов и отчётов, где нужно показывать актуальные совпадения в реальном времени.

Ошибки и решения: почему не находит совпадения?

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

  • 🔍 Лишние пробелы: Используйте =СЖПРОБЕЛЫ(A2)=СЖПРОБЕЛЫ(B2) для проверки.
  • 🔍 Разный регистр: Приведите текст к единому регистру с помощью ПРОПИСН или СТРОЧН.
  • 🔍 Скрытые символы: Иногда в данных есть непечатаемые символы (например, переносы строк). Используйте =КОДСИМВ(PRAВО;1), чтобы их обнаружить.
  • 🔍 Числа vs текст: Число 123 и текст "123" — разные значения. Используйте =ЗНАЧЕН(A2) для преобразования текста в число.

Если проблема не решена, попробуйте экспортировать данные в текстовый файл (например, CSV) и открыть их в блокноте. Часто это помогает увидеть скрытые символы или несоответствия форматов.

⚠️ Внимание: При работе с большими файлами (100 000+ строк) отключите автоматический пересчёт формул (вкладка Формулы → Параметры вычислений → Вручную). Это ускорит работу и предотвратит зависание Excel.

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

Как найти совпадения в двух столбцах и скопировать соответствующие строки в другой лист?

Используйте комбинацию ФИЛЬТР (для новых версий Excel) или ПРОСМОТРХ с ИНДЕКС для старых версий. Пример:

=ФИЛЬТР(

A2:D100;

СЧЁТЕСЛИ(B2:B100; A2:A100)>0

)

Эта формула вернёт все строки из диапазона A2:D100, где значения из столбца A встречаются в столбце B.

Можно ли сравнить столбцы в разных файлах Excel?

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

  1. Откройте оба файла.
  2. В основном файле используйте формулу с указанием пути к другому файлу, например:
    =СЧЁТЕСЛИ([Книга2.xlsx]Лист1!$A$2:$A$100; A2)>0
  3. Или импортируйте данные из второго файла через Power Query (вкладка Данные → Получить данные → Из файла).

Убедитесь, что оба файла находятся в одной папке или используйте полный путь (например, C:\Папка\[Книга2.xlsx]).

Как найти совпадения с учётом синонимов (например, "Мoskva" и "Москва")?

Для таких случаев нужно создать таблицу синонимов и использовать ВПР или ПОИСКПОЗ для замены значений перед сравнением. Пример:

  1. Создайте таблицу с синонимами на отдельном листе:
    Синоним 1Синоним 2Единое значение
    MoskvaМоскваМосква
    SPbСанкт-ПетербургСанкт-Петербург
  2. В основной таблице добавьте столбец с формулой:
    =ВПР(A2; Синонимы!A:C; 3; ЛОЖЬ)

    где Синонимы!A:C — диапазон с таблицей синонимов.

  3. Сравнивайте уже "нормализованные" значения из этого столбца.
Почему ВПР не находит значение, которое точно есть в таблице?

Наиболее частые причины:

  • 📌 Четвёртый аргумент ВПР установлен в ИСТИНА (поиск приблизительного совпадения). Всегда используйте ЛОЖЬ для точного поиска.
  • 📌 Данные в поисковом столбце не отсортированы (для ИСТИНА сортировка обязательна).
  • 📌 Разные форматы ячеек (текст vs число). Проверьте с помощью =ТИП(A2).

Решение: используйте ИНДЕКС-ПОИСКПОЗ вместо ВПР — эта комбинация более надёжна.