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

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

Многие пользователи ошибочно полагают, что для сравнения столбцов обязательно нужен VBA или внешние надстройки. На самом деле даже базовые функции программы — такие как ВПР, ЕСЛИ или условное форматирование — справляются с задачей на 90%. Главное — выбрать метод, который соответствует вашему уровню владения Excel и объёму данных. В этой статье мы разберём 5 проверенных способов, от самых простых до продвинутых, с примерами и нюансами каждого.

Если вы никогда не работали с формулами массива или Power Query, не переживайте: первые два метода не требуют специальных знаний. А для опытных пользователей мы подготовили оптимизированные решения, которые работают даже с таблицами на 100 000+ строк. Важно понимать, что выбор метода зависит не только от ваших навыков, но и от структуры данных. Например, если столбцы содержат текст с опечатками или лишними пробелами, обычное сравнение может не сработать — потребуется предварительная очистка.

Прежде чем приступать к практике, убедитесь, что ваши данные подготовлены:

  • 📌 Удалите пустые строки в начале/конце диапазонов (они могут искажать результаты).
  • 🔍 Проверьте регистр символов: "Иванов" и "иванов" для Excel — разные значения.
  • 🧹 Используйте функцию СЖПРОБЕЛЫ, если в ячейках есть лишние пробелы.
📊 Какой метод сравнения столбцов вы используете чаще?
Формулы (ВПР, ЕСЛИ и др.)
Условное форматирование
Power Query
Сводные таблицы
Другой способ

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

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

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

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

Затем протяните её вниз на весь диапазон. Функция СЧЁТЕСЛИ проверяет, сколько раз значение из A2 встречается в столбце B. Если хотя бы один раз — ячейка C2 отобразит текст "Есть в обоих списках".

⚠️ Внимание: Этот метод чувствителен к регистру. Если в столбце A записано "Иванов", а в B — "иванов", формула вернёт ложный отрицательный результат. Чтобы избежать этого, модифицируйте формулу:

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

Функция ПРОПИСН приведёт оба значения к верхнему регистру перед сравнением.

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

  • 🔹 Не требует дополнительных навыков.
  • 🔹 Визуально понятный результат (можно выделить цветом).
  • 🔹 Работает во всех версиях Excel, включая Excel Online.

2. Условное форматирование для визуального выделения

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

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

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

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

⚠️ Внимание: Условное форматирование с формулами может замедлить работу Excel, если применяется к большим диапазонам (более 50 000 строк). В таких случаях лучше использовать Power Query или сводные таблицы.

Пример результата:

Сотрудники (А)Прошли обучение (B)
Петров И.С.Петров И.С.
Сидорова А.П.Сидорова А.П.
Кузнецов В.Г.Кузнецов В.Г.
Васильева Е.А.Иванов П.Р.

Убедиться, что в столбцах нет объединённых ячеек

Проверить отсутствие скрытых символов (например, неразрывных пробелов)

Сохранить файл перед применением правил (на случай сбоя)

Ограничить диапазон форматирования (не применять ко всей колонке, если данных мало)-->

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

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

Формула для поиска совпадений:

=ЕСЛИОШИБКА(ВПР(D2; $A$2:$B$100; 1; ЛОЖЬ); "Нет в списке"; "Есть")

Где:

  • D2 — первая ячейка столбца, который мы проверяем.
  • $A$2:$B$100 — диапазон с исходными данными (столбец A — артикулы, B — названия).
  • 1 — номер столбца в диапазоне, откуда возвращается значение (в нашем случае это столбец A).
  • ЛОЖЬ — точный поиск (без приближений).

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

Преимущества ВПР:

  • 🔹 Можно извлекать данные из соседних столбцов (например, не только найти артикул, но и вывести его название).
  • 🔹 Работает в Excel 2007 и новее.
  • 🔹 Легко модифицируется для частичного совпадения (если заменить ЛОЖЬ на ИСТИНА).
Почему ВПР может не найти совпадение?

Частая ошибка — несоблюдение порядка аргументов. Убедитесь, что:

1. Искомое значение (артикул из столбца D) стоит первым в формуле.

2. Диапазон поиска ($A$2:$B$100) включает столбец с искомыми значениями (A) и данные для возврата (B).

3. Последний аргумент — ЛОЖЬ (для точного поиска).

Если формула возвращает #Н/Д, проверьте:

- Нет ли скрытых символов (пробелов, переносов строк).

- Совпадают ли форматы ячеек (текст vs число).

4. Продвинутый поиск с ИНДЕКС-ПОИСКПОЗ

Комбинация функций ИНДЕКС и ПОИСКПОЗ (или INDEX-MATCH) — более гибкая альтернатива ВПР. Она позволяет:

  • 🔹 Искать значения не только в левом, но и в любом столбце диапазона.
  • 🔹 Возвращать несколько совпадений (с помощью формул массива).
  • 🔹 Работать с несмежными диапазонами.

Базовая формула для поиска совпадений:

=ЕСЛИОШИБКА(ИНДЕКС($A$2:$A$100; ПОИСКПОЗ(D2; $A$2:$A$100; 0)); "Нет"; "Есть")

Чтобы вернуть все совпадения (если они повторяются), используйте формулу массива:

=ЕСЛИОШИБКА(ТЕКСТСОЕД("; "; ИСТИНА; ЕСЛИ($A$2:$A$100=D2; $A$2:$A$100; "")); "Нет"; ТЕКСТСОЕД("; "; ИСТИНА; ЕСЛИ($A$2:$A$100=D2; $A$2:$A$100; "")))

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

⚠️ Внимание: Формулы массива могут значительно замедлить файл, если диапазоны слишком большие. Для таблиц свыше 50 000 строк лучше использовать Power Query (см. следующий раздел).

Сравнение ВПР и ИНДЕКС-ПОИСКПОЗ:

КритерийВПРИНДЕКС-ПОИСКПОЗ
Поиск в любом столбце❌ Только в левом✅ Да
Чувствительность к добавлению/удалению столбцов❌ Ломается✅ Стабильна
Скорость работы с большими данными🔹 Средняя✅ Быстрее
Возврат нескольких совпадений❌ Нет✅ Да (с формулами массива)

5. Power Query: сравнение больших таблиц

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

  • 🔹 Объединять таблицы по ключевым столбцам (аналог SQL JOIN).
  • 🔹 Очищать данные перед сравнением (удалять пробелы, приводить к одному регистру).
  • 🔹 Автоматически обновлять результаты при изменении исходных данных.

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

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

⚠️ Внимание: Power Query создаёт связь с исходными данными. Если вы удалите или переместите столбцы A или B, запрос перестанет работать. Чтобы избежать этого, преобразуйте диапазоны в таблицы Excel (Ctrl+T) перед импортом в Power Query.

Преимущества Power Query:

  • 🔹 Обрабатывает миллионы строк без замедления.
  • 🔹 Позволяет сравнивать данные из разных файлов или источников (например, SQL, CSV).
  • 🔹 Сохраняет историю преобразований (можно откатить изменения).

6. Сводные таблицы для анализа пересечений

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

Как создать сводную таблицу для сравнения:

  1. Выделите оба столбца (включая заголовки).
  2. Перейдите на вкладку Вставка → Сводная таблица.
  3. В поле Строки перетащите оба столбца (например, "Список 1" и "Список 2").
  4. В поле Значения добавьте любой из столбцов и выберите операцию Количество.

В результате вы получите таблицу, где по строкам и столбцам будут значения из исходных списков, а на пересечении — количество совпадений. Чтобы оставить только дубли, отфильтруйте сводную таблицу по значению > 0.

⚠️ Внимание: Сводные таблицы не показывают конкретные совпадающие значения, а только их количество. Если вам нужны сами данные, используйте Power Query или формулы.

Пример сводной таблицы для сравнения списков товаров:

Список 1 \ Список 2МониторКлавиатураМышь
Монитор100
Клавиатура010
Мышь001
Наушники010

FAQ: Частые вопросы о сравнении столбцов

Можно ли сравнить столбцы в Excel Online?

Да, но с ограничениями. В Excel Online доступны:

  • 🔹 Функции ЕСЛИ, ВПР, СЧЁТЕСЛИ.
  • 🔹 Условное форматирование.

Недоступны:

  • Power Query.
  • ❌ Формулы массива (требуют Ctrl+Shift+Enter).

Для сложных задач скачайте файл в десктопную версию Excel.

Как сравнить столбцы с учётом опечаток (например, "Иванов" vs "Ивановв")?

Используйте функцию НАЙТИ или ПОИСК для нечёткого поиска. Пример формулы:

=ЕСЛИ(НЕ(ЕОШИБКА(ПОИСК(A2; B2))); "Похоже"; "")

Для более точного сравнения с учётом опечаток подключите надстройку Fuzzy Lookup (доступна в Excel 2013 и новее через Файл → Параметры → Надстройки).

Почему формула ВПР не находит совпадение, хотя данные одинаковые?

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

  • 🔹 Разные форматы ячеек (текст vs число). Проверьте с помощью Формат ячеек.
  • 🔹 Скрытые символы (пробелы, непечатаемые знаки). Используйте =ПЕЧСИМВ(A2) для их обнаружения.
  • 🔹 Разный регистр. Приведите оба столбца к одному регистру с помощью ПРОПИСН или СТРОЧН.
Как сравнить два столбца в Google Таблицах?

В Google Sheets работают те же принципы, что и в Excel, но с некоторыми отличиями:

  • 🔹 Формулы массива вводятся без Ctrl+Shift+Enter (достаточно Enter).
  • 🔹 Для ВПР используйте =ARRAYFORMULA(IFERROR(VLOOKUP(...))).
  • 🔹 Power Query заменяет надстройка Apps Script.

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

=ARRAYFORMULA(IF(COUNTIF(B:B; A2:A)>0; "Есть"; ""))
Можно ли автоматизировать сравнение столбцов по расписанию?

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

  • 🔹 Power Automate (бывший Microsoft Flow) — для облачных файлов в OneDrive/SharePoint.
  • 🔹 VBA-макросов с таймером (для десктопной версии Excel).
  • 🔹 Apps Script в Google Sheets (триггеры по времени).

Пример макроса для еженедельного сравнения:

Sub CompareColumns()

Dim ws As Worksheet

Set ws = ThisWorkbook.Sheets("Лист1")

ws.Range("C2").Formula = "=IF(COUNTIF(B:B, A2)>0, ""Есть"", """")"

Application.OnTime Now + TimeValue("07:00:00"), "CompareColumns" ' Запуск каждые 7 дней

End Sub