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

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

Многие пользователи ошибочно полагают, что для этой задачи обязательно нужен VLOOKUP или макросы. На самом деле даже базовые функции вроде ЕСЛИ и ПОИСКПОЗ справятся с задачей за считанные секунды. В этой статье мы разберём 5 рабочих методов — от элементарных до профессиональных, — а также покажем, как визуализировать совпадения с помощью условного форматирования и избежать типичных ошибок при работе с большими массивами данных.

Если вы никогда не сталкивались с поиском дублей между столбцами, начните с первых двух способов — они не требуют знания формул. Опытным пользователям будет полезен раздел про Power Query, который позволяет автоматизировать процесс для регулярных отчётов. А для тех, кто работает с данными из внешних источников (например, SQL или Google Sheets), мы добавили бонусный метод с использованием СЦЕПИТЬ и ПОДСТАВИТЬ для неточных совпадений.

1. Поиск совпадений с помощью условного форматирования

Самый визуальный способ выделить одинаковые значения — использовать условное форматирование. Этот метод не требует написания формул и подходит для быстрого анализа небольших таблиц (до 10 000 строк). Основное преимущество: результат виден сразу, а ячейки с совпадениями подсвечиваются выбранным цветом.

Чтобы применить форматирование:

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

    (замените A на букву вашего столбца).

  5. Задайте цвет заполнения (например, светло-зелёный) и нажмите ОК.

⚠️ Внимание: Этот метод работает только в пределах одного столбца. Чтобы сравнить два разных столбца (например, A и B), используйте формулу:

=ИЛИ(СЧЁТЕСЛИ($A:$A; A1)>1; СЧЁТЕСЛИ($B:$B; A1)>0)

Если вам нужно выделить только уникальные значения (те, что не повторяются), замените >1 на =1. Для сравнения трёх и более столбцов добавьте дополнительные условия через ИЛИ.

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

2. Формулы для поиска совпадений между столбцами

Когда требуется не просто выделить, а извлечь совпадающие значения или получить список дублей, на помощь приходят формулы. Рассмотрим три самых эффективных варианта:

Способ 1. Функция ЕСЛИ + ПОИСКПОЗ

Эта комбинация позволяет проверить, есть ли значение из столбца A в столбце B, и вернуть результат в третьем столбце. Формула для ячейки C1:

=ЕСЛИ(ЕОШ(ПОИСКПОЗ(A1; $B:$B; 0)); "Нет"; "Есть")

Если значение из A1 найдётся в столбце B, ячейка C1 отобразит «Есть», иначе — «Нет».

Способ 2. Функция СЧЁТЕСЛИ для подсчёта повторений

Чтобы посчитать, сколько раз значение из столбца A встречается в столбце B, используйте:

=СЧЁТЕСЛИ(B:B; A1)

Если результат > 0, значит, совпадение есть. Этот метод удобен для создания сводных отчётов.

Способ 3. Извлечение совпадающих значений с помощью ФИЛЬТР (Excel 365)

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

=ФИЛЬТР(A1:A100; СЧЁТЕСЛИ(B1:B100; A1:A100)>0; "Нет совпадений")

⚠️ Внимание: Формулы массива (вроде ФИЛЬТР) могут значительно замедлить работу книги, если применены к большому диапазону (более 50 000 строк). В таких случаях лучше использовать Power Query (см. раздел 5).

Удалить пустые строки и столбцы

Привести данные к одному регистру (например, с помощью =ПРОПИСН())

Убрать лишние пробелы (функция =СЖПРОБЕЛЫ())

Проверить формат ячеек (текст/число)-->

3. Использование функции ВПР (VLOOKUP) для сравнения столбцов

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

Пример формулы для ячейки C1:

=ЕСЛИОШИБКА(ВПР(A1; B:B; 1; ЛОЖЬ); "Нет"; "Есть")

Здесь:

  • 🔹 A1 — искомое значение.
  • 🔹 B:B — диапазон поиска (обязательно должен начинаться с первого столбца!).
  • 🔹 1 — номер столбца, откуда возвращать значение (в нашем случае это сам столбец B).
  • 🔹 ЛОЖЬ — точный поиск (без приближений).

⚠️ Внимание: ВПР не работает, если:

  • 🚫 Искомое значение находится правее диапазона поиска (например, вы ищете в B значение из A, но формула в C).
  • 🚫 В данных есть дубликаты — функция вернёт только первое найденное совпадение.
  • 🚫 Столбцы не отсортированы (для точного поиска с ЛОЖЬ это не критично, но влияет на производительность).

Для более гибкого поиска используйте ИНДЕКС + ПОИСКПОЗ:

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

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

Если вам нужно не только найти совпадения, но и проанализировать их распределение (например, посчитать, сколько раз каждый элемент повторяется), сводные таблицы станут идеальным решением. Этот метод особенно полезен для работы с большими наборами данных (100 000+ строк).

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

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

В результате вы получите таблицу, где по строкам будут уникальные значения из обоих столбцов, а в столбце Количество — сколько раз каждое значение встречается. Чтобы выделить совпадения, отсортируйте данные по убыванию: значения с количеством ≥ 2 и есть дубли.

Критичный нюанс: Сводная таблица учитывает все вхождения, включая повторения внутри одного столбца. Если вам нужны только межстолбцовые совпадения, предварительно удалите дубли внутри каждого столбца с помощью Данные → Удалить дубликаты.

Список1 Список2 Количество (совпадения)
Яблоко Яблоко 2
Банан - 1
Груша Груша 2
- Апельсин 1

5. Power Query: профессиональный инструмент для поиска совпадений

Для пользователей, работающих с Excel 2016 и новее (или Power BI), самый мощный инструмент — это Power Query (вкладка Данные → Получить данные). Он позволяет объединять таблицы, сравнивать столбцы и автоматизировать процесс для регулярных отчётов.

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

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

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

  • 🔹 Работает с миллионами строк без замедления.
  • 🔹 Позволяет сравнивать данные из разных источников (например, Excel + SQL).
  • 🔹 Сохраняет шаги обработки: при обновлении исходных данных результат пересчитывается автоматически.
  • 🔹 Поддерживает нечёткий поиск (например, с учётом опечаток).

⚠️ Внимание: При объединении больших таблиц (более 1 000 000 строк) Power Query может потребовать значительных ресурсов ПК. В таких случаях:

  • 🔸 Разбейте данные на части и обрабатывайте их поочерёдно.
  • 🔸 Закройте другие программы, потребляющие оперативную память.
  • 🔸 Сохраните файл в формате .xlsx (не .xls), так как он оптимизирован для больших объёмов.
Как включить Power Query в Excel 2010-2013?

В версиях старше 2016 года Power Query доступен как надстройка "Power Query для Excel". Чтобы её установить:

1. Скачайте надстройку с официального сайта Microsoft (бесплатно).

2. Установите её и перезапустите Excel.

3. Power Query появится на вкладке "Данные" или как отдельная вкладка "Power Query".

Обратите внимание: в Excel 2010 поддерживается только 32-битная версия надстройки.

6. Поиск частичных совпадений и неточных данных

Иногда значения в столбцах могут не совпадать полностью, но содержать общие фрагменты. Например:

  • 🔹 «Иванов И.И.» и «Иванов Иван Иванович»;
  • 🔹 «Артикул: 12345» и «12345»;
  • 🔹 «ООО Ромашка» и «Ромашка ЛТД».

В таких случаях поможет комбинация функций ПОИСК, НАЙТИ и ЕСЛИ.

Пример 1. Поиск подстроки

Формула проверяет, содержится ли текст из ячейки A1 в ячейке B1 (регистр не важен):

=ЕСЛИ(ЕЧИСЛО(ПОИСК(A1; B1)); "Есть совпадение"; "Нет")

Пример 2. Сравнение с учётом опечаток

Для приблизительного сопоставления (например, «Михаил» и «Михайло») используйте функцию РАССТОЯНИЕ (доступна в Excel 2013 и новее):

=ЕСЛИ(РАССТОЯНИЕ(A1; B1) < 3; "Возможно совпадение"; "Нет")

Здесь 3 — максимальное допустимое расстояние Левенштейна (количество изменений, чтобы сделать строки одинаковыми).

Пример 3. Извлечение общих символов

Чтобы найти общую часть в двух ячейках (например, «Модель X-2023» и «X-2023-Pro»), используйте:

=ПОДСТАВИТЬ(A1; ЛЕВСИМВ(A1; ПОИСК(" "; A1 & " ")-1); "")

Эта формула удаляет первое слово из ячейки A1, оставляя только общую часть (в данном случае «X-2023»).

7. Типичные ошибки и как их избежать

Даже опытные пользователи Excel сталкиваются с проблемами при поиске совпадений между столбцами. Вот самые распространённые ошибки и способы их решения:

Ошибка 1: Формула не находит совпадения, хотя они есть

  • 🔹 Причина: Лишние пробелы или скрытые символы (например, неразрывный пробел).
  • 🔹 Решение: Очистите данные с помощью =СЖПРОБЕЛЫ() или =ПЕЧСИМВ().

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

  • 🔹 Причина: Формулы вроде СЧЁТЕСЛИ или ФИЛЬТР пересчитывают весь диапазон при каждом изменении.
  • 🔹 Решение: Замените динамические диапазоны (например, A:A) на фиксированные (например, A1:A10000).

Ошибка 3: ВПР возвращает неверный результат

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

Ошибка 4: Условное форматирование не применяется ко всем ячейкам

  • 🔹 Причина: Диапазон в правиле форматирования зафиксирован абсолютными ссылками (например, $A$1:$A$100).
  • 🔹 Решение: Используйте относительные ссылки (например, A1:A100) или расширьте диапазон вручную.

Ошибка 5: Power Query не находит совпадения при объединении

  • 🔹 Причина: Разный формат данных (например, текст vs число) или регистр символов.
  • 🔹 Решение: Преобразуйте оба столбца к одному типу (текст) и приведите к единому регистру с помощью =ПРОПИСН().

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

Можно ли найти совпадения между столбцами в Google Sheets?

Да, все описанные методы работают и в Google Sheets, за исключением Power Query (там используется Google Apps Script или надстройка Power Tools). Формулы VLOOKUP, COUNTIF и IF имеют аналогичный синтаксис. Для условного форматирования перейдите в Формат → Условное форматирование.

Как найти совпадения в трёх и более столбцах?

Используйте комбинацию функций ИЛИ и СЧЁТЕСЛИ:

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

Для Power Query последовательно объединяйте таблицы парно.

Почему ВПР не работает с текстом, содержащим запятые или точки?

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

  • 🔹 Замените запятые на точку с запятой в данных (или наоборот, в зависимости от настроек).
  • 🔹 Используйте функцию ПОДСТАВИТЬ, чтобы временно удалить запятые:
    =ВПР(ПОДСТАВИТЬ(A1; ","; ""); B:B; 1; ЛОЖЬ)

Как автоматизировать поиск совпадений для еженедельных отчётов?

Лучший вариант — Power Query:

  1. Создайте запрос один раз (см. раздел 5).
  2. Сохраните файл как .xlsm (с поддержкой макросов).
  3. Добавьте кнопку для обновления данных:
    Sub UpdateQueries()
    

    ThisWorkbook.Connections("ВашеПодключение").Refresh

    End Sub

    (назначьте макрос на кнопку через Разработчик → Вставить → Кнопка).

Теперь при каждом обновлении исходных данных результат будет пересчитываться автоматически.

Можно ли найти совпадения между листами или книгами?

Да, для этого укажите полный путь к диапазону. Примеры:

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

Для Power Query импортируйте данные из внешних источников через Данные → Получить данные → Из файла.