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

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

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

Сценариев, где требуется такое сравнение, масса: сверка баз данных после миграции, поиск общих контактов в разных отделах компании, выявление пересечений в ассортименте поставщиков или даже банальная проверка на плагиат в списках участников. Главное — понимать, что "повторяющиеся значения" могут интерпретироваться по-разному: точные совпадения (включая регистр), частичные вхождения или совпадения с учётом опечаток. От этого зависит выбор метода.

В этой статье мы разберём 5 проверенных способов поиска дубликатов между двумя столбцами — от элементарных формул до продвинутых инструментов вроде Power Query. Каждый метод имеет свои плюсы и ограничения, поэтому вы сможете выбрать оптимальный вариант под свою задачу. А для тех, кто работает с Google Таблицами, в конце будет отдельный блок с нюансами.

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

Способ 1: Условное форматирование — визуальное выделение дубликатов

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

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

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

    (где $A:$A — первый столбец для сравнения, A1 — первая ячейка выделенного диапазона).

  5. Задайте формат (например, заливку красным) и нажмите ОК.

⚠️ Внимание: Формула чувствительна к регистру! Чтобы игнорировать регистр, используйте:

=СЧЁТЕСЛИ($A:$A; ПРОПНАЧ(A1))>0

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

Проверьте, что данные в одном формате (текст/числа)

Сохраните копию файла на случай ошибок

Отмените предыдущие правила форматирования (если есть)-->

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

  • 🎨 Визуальная наглядность — совпадения видны сразу.
  • Быстрота — не требует создания дополнительных столбцов.
  • 🔄 Гибкость — можно менять правила "на лету".

Недостатки:

  • 📊 Не подходит для больших массивов (более 10 000 строк) — может тормозить.
  • 🔢 Не даёт количественного анализа (только визуальный).

Способ 2: Формулы СЧЁТЕСЛИ и ВПР — классический подход

Для тех, кто предпочитает точные расчёты и возможность дальнейшей работы с результатами, формулы станут надёжным решением. Здесь мы рассмотрим две ключевые функции: СЧЁТЕСЛИ (для подсчёта совпадений) и ВПР (для извлечения данных).

Вариант 1. СЧЁТЕСЛИ для поиска дубликатов

Допустим, у нас есть два столбца: A (основной список) и B (список для проверки). В столбце C рядом с первым списком введём формулу:

=ЕСЛИ(СЧЁТЕСЛИ($B:$B; A1)>0; "Дубликат"; "")

Эта формула проверит, есть ли значение из A1 в столбце B, и выведет "Дубликат", если совпадение найдено.

Вариант 2. ВПР для извлечения совпадающих данных

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

=ЕСЛИНА(ВПР(A1; $B:$C; 2; ЛОЖЬ); "Уникально"; ВПР(A1; $B:$C; 2; ЛОЖЬ))

Здесь $B:$C — диапазон, где B — столбец для поиска, а C — столбец с данными для извлечения.

Формула Пример использования Результат
СЧЁТЕСЛИ =СЧЁТЕСЛИ(B:B; A1) Количество вхождений значения из A1 в столбце B
ВПР =ВПР(A1; B:C; 2; ЛОЖЬ) Значение из столбца C, соответствующее найденному в B
ЕСЛИ+СЧЁТЕСЛИ =ЕСЛИ(СЧЁТЕСЛИ(B:B; A1)>0; "Есть"; "Нет") Текстовый ответ о наличии дубликата

⚠️ Внимание: Формулы ВПР и СЧЁТЕСЛИ не работают с массивами — если вам нужно сравнить более двух столбцов, используйте СЧЁТЕСЛИМН или Power Query.

Способ 3: Функция ЕСЛИМН — для сложных условий

Когда нужно проверять совпадения по нескольким критериям одновременно (например, совпадают и email, и телефон), на помощь приходит функция ЕСЛИМН. Она позволяет задавать несколько условий и возвращает значение, если все они выполняются.

Пример: у нас есть таблица с клиентами, где нужно найти дубликаты по паре "ФИО + Email". Формула будет такой:

=ЕСЛИМН(И(СЧЁТЕСЛИ($B:$B; B2)>0; СЧЁТЕСЛИ($C:$C; C2)>0); "Дубликат"; "Уникально")

Здесь B2 — ячейка с ФИО, C2 — с Email.

Преимущества ЕСЛИМН:

  • 🔍 Точность — учитывает несколько параметров одновременно.
  • 🛠 Гибкость — можно комбинировать с другими функциями (И, ИЛИ).

Недостатки:

  • 🧠 Сложность — формулы становятся громоздкими при 3+ условиях.
  • ⏳ Медленнее работает на больших массивах, чем Power Query.
Как упростить сложные формулы?

Используйте промежуточные столбцы для вычислений. Например, сначала в одном столбце проверьте совпадение ФИО, в другом — Email, а затем объедините результаты в третьем. Это сделает файл более читаемым и упростит отладку.

Способ 4: Power Query — инструмент для больших данных

Если вы работаете с таблицами на десятки тысяч строк, обычные формулы Excel начнут тормозить. Здесь на помощь приходит Power Query — встроенный инструмент для трансформации и анализа данных. Он позволяет объединять таблицы, фильтровать дубликаты и выполнять сложные операции без формул.

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

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

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

  • Скорость — обрабатывает миллионы строк за секунды.
  • 🔄 Автоматизация — запрос можно обновить одним кликом при изменении данных.
  • 📊 Гибкость — поддерживает сложные трансформации (замена текста, разделение столбцов и т.д.).

⚠️ Внимание: В Excel 2010-2013 Power Query доступен как надстройка Power BI. Скачайте её с официального сайта Microsoft, если не видите вкладку Данные → Получение данных.

Способ 5: Сводные таблицы — для анализа частотности

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

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

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

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

Список1 Список2 Количество
Иванов И.И. Иванов И.И. 2
Петров П.П. Петров П.П. 2
Сидоров С.С. (пусто) 1

Преимущества сводных таблиц:

  • 📈 Аналитика — показывают не только факты дубликатов, но и их частотность.
  • 🔍 Интерактивность — можно фильтровать, сортировать и дробить данные по разным критериям.

Недостатки:

  • 📊 Требует предварительной подготовки данных (устранение пустых ячеек, приведение к одному формату).
  • 🔄 Не обновляется автоматически — нужно вручную нажимать "Обновить".

Особенности поиска дубликатов в Google Таблицах

Если вы работаете в Google Sheets, большинство описанных методов будут работать, но с некоторыми нюансами:

1. Условное форматирование

Алгоритм тот же, но формула для поиска дубликатов между столбцами A и B будет:

=COUNTIF($B:$B; A1)>0

(в Google Таблицах разделитель аргументов — точка с запятой ; или запятая , в зависимости от региональных настроек).

2. Формулы

Вместо СЧЁТЕСЛИ можно использовать COUNTIF, а вместо ВПРVLOOKUP. Например:

=IF(COUNTIF(B:B; A1)>0; "Дубликат"; "")

3. App Script

Для автоматизации поиска дубликатов в больших таблицах (более 100 000 строк) напишите простой скрипт:

function findDuplicates() {

const sheet = SpreadsheetApp.getActiveSheet();

const rangeA = sheet.getRange("A:A").getValues();

const rangeB = sheet.getRange("B:B").getValues();

const duplicates = [];

rangeA.forEach((row, index) => {

if (rangeB.some(bRow => bRow[0] === row[0])) {

duplicates.push(row[0]);

}

});

sheet.getRange("C1").setValue("Дубликаты:").setFontWeight("bold");

sheet.getRange("C2").setValue(duplicates.join(", "));

}

⚠️ Внимание: В Google Таблицах нет аналога Power Query, но можно использовать надстройку Power Tools (платно) или писать кастомные скрипты на Google Apps Script.

Частые ошибки и как их избежать

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

  1. Пустые ячейки ломают формулы

    Если в столбцах есть пустые строки, СЧЁТЕСЛИ или ВПР могут возвращать некорректные результаты. Решение: предварительно отфильтруйте данные или используйте ЕСЛИ(А1<>""; формула; "").

  2. Разный регистр

    Excel различает "Иванов" и "иванов". Чтобы игнорировать регистр, применяйте ПРОПНАЧ или НИЖНРЕГ:

    =СЧЁТЕСЛИ($B:$B; НИЖНРЕГ(A1))

  3. Лишние пробелы

    Пробелы в начале или конце ячейки (например, " Иванов") приводят к ложным "уникальным" значениям. Используйте СЖПРОБЕЛЫ:

    =СЧЁТЕСЛИ($B:$B; СЖПРОБЕЛЫ(A1))

  4. Разные форматы данных

    Число "1000" и текст "1000" для Excel — разные значения. Преобразуйте данные в один формат с помощью ЗНАЧЕН или ТЕКСТ.

  5. Дубликаты с опечатками

    Если нужно найти похожие, но не идентичные значения (например, "Иванов" и "Ивановв"), используйте ПОИСКПОЗ с нечётким сравнением или надстройки вроде Fuzzy Lookup.

💡 Полезный совет: Перед поиском дубликатов всегда нормализуйте данные:

  • 🧹 Удалите лишние пробелы (СЖПРОБЕЛЫ).
  • 🔤 Приведите текст к одному регистру (ПРОПНАЧ).
  • 📊 Преобразуйте числа в текст или наоборот (ЗНАЧЕН).

FAQ: Ответы на популярные вопросы

Можно ли найти дубликаты между двумя листами Excel?

Да! Используйте формулу с указанием листа. Например, чтобы найти значения из Лист1!A:A в Лист2!B:B:

=СЧЁТЕСЛИ(Лист2!$B:$B; A1)>0

Главное — не забывать про знак $ перед именем листа и столбца, чтобы ссылка не сбивалась при копировании.

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

Для нескольких столбцов используйте СЧЁТЕСЛИМН (Excel 2019+) или комбинацию СЧЁТЕСЛИ с оператором +:

=ЕСЛИ(СЧЁТЕСЛИ($B:$B; A1) + СЧЁТЕСЛИ($C:$C; A1) > 0; "Дубликат"; "")

В Power Query можно объединить несколько таблиц через Объединить запросы.

Почему ВПР не находит совпадения, хотя они есть?

Чаще всего это связано с:

  • 🔢 Разными типами данных (текст vs число).
  • 📏 Лишними пробелами или непечатаемыми символами (используйте СЖПРОБЕЛЫ и ПЕЧСИМВ).
  • 🔍 Неправильным диапазоном поиска (проверьте, что четвертый аргумент ВПРЛОЖЬ для точного совпадения).

Попробуйте проверить данные функцией ТИП или ЕТЕКСТ.

Как удалить дубликаты между двумя столбцами?

Чтобы оставить только уникальные значения:

  1. Скопируйте оба столбца в новый лист.
  2. Выделите данные и нажмите Данные → Удалить дубликаты.
  3. Укажите оба столбца в качестве критериев.

Excel оставит только первые вхождения уникальных пар. Для более гибкой обработки используйте Power Query.

Есть ли способ найти дубликаты с учётом синонимов (например, "ООО Ромашка" и "Ромашка ЛТД")?

Для нечёткого поиска (fuzzy matching) в Excel нет встроенных инструментов, но можно:

  • 🔧 Использовать надстройку Fuzzy Lookup Add-In (бесплатно от Microsoft).
  • 📊 В Power Query применить функцию Text.Contains или Text.StartsWith.
  • 🤖 Написать макрос на VBA с алгоритмом Левенштейна для сравнения строк.

В Google Таблицах для этого есть функция REGEXMATCH.