← Блог

Как найти дубликаты и расхождения между двумя списками

Дубликат в списке выглядит безобидно, пока из-за него один человек не получает два пропуска, две выплаты или два письма. А расхождение между двумя списками (в одном фамилия «Петрова», в другом «Петрова-Сидорова», в одном номер с пробелами, в другом без) приводит к тому, что сверка «не сходится» без видимой причины. В этой статье разберём именно эту сторону задачи: как находить повторы внутри одного списка и несовпадения между двумя, особенно когда ключом служат ФИО и номера. Базовое сравнение «кто есть, а кого нет» вынесено в отдельную инструкцию про то, как сравнить два списка в Excel.

Что считать дубликатом, а что расхождением

Определимся с терминами, иначе легко запутаться:

Большая часть времени уходит именно на ложные расхождения. Чем чище данные, тем меньше ручной проверки.

Шаг 1. Приведите ключ к единому виду

Создайте в каждом списке вспомогательный столбец «Ключ», на котором будет идти сравнение. Для ФИО он собирается так:

Для номеров (телефон, СНИЛС, паспорт, номер договора) нужна другая очистка: уберите пробелы, дефисы и скобки вложенными ПОДСТАВИТЬ. И обязательно проверьте формат ячейки: длинные номера и числа с ведущим нулём Excel любит превращать в число и «съедать» ноль. Для таких столбцов задавайте формат «Текстовый» заранее, до вставки данных.

Лучший ключ это то, что уникально и не зависит от написания: табельный номер, ИНН, номер договора. ФИО годится только как запасной вариант, потому что однофамильцы встречаются чаще, чем кажется. Хорошая связка: ФИО плюс дата рождения.

Шаг 2. Найдите дубликаты внутри списка

Самый быстрый способ найти повторы глазами:

Для работы с повторами формулой используйте счётчик: в соседнем столбце напишите СЧЁТЕСЛИ($B$2:$B$500;B2). Значение больше единицы значит, что запись встречается несколько раз. Чтобы пометить именно второе и последующие вхождения, ограничьте диапазон верхом: СЧЁТЕСЛИ($B$2:B2;B2). Тогда первое вхождение получит единицу, а повторы двойку и больше. Отфильтруйте значения больше единицы и решайте, что удалять.

Удалять дубли стоит не вслепую. Встроенная команда «Данные», «Удалить дубликаты» оставляет первую запись и стирает остальные, а они могут отличаться другими полями. Сначала скопируйте лист, потом чистите.

Шаг 3. Найдите расхождения между двумя списками

Когда ключи приведены к единому виду, сравнение идёт формулами:

Мини-пример на двух записях:

Типичные источники расхождений в ФИО

Как проверить, что результат верный

После любой сверки сделайте контрольный подсчёт. Количество уникальных записей в первом списке должно равняться числу записей «есть в обоих» плюс число записей «только в первом». То же самое для второго списка. Если цифры не сходятся, значит, остались невидимые дубли, пустые строки или записи с разным форматом ключа. Выберите несколько случайных строк из каждой группы и сверьте их вручную с исходными документами: две-три минуты проверки избавят от неприятных вопросов, когда по итогам сверки кому-то придётся что-то исправлять.

Частые ошибки

Если сверка регулярная

Когда такая работа повторяется каждый месяц, лучше один раз настроить готовый файл. В бесплатной таблице сверки двух списков уже есть листы для списков А и Б, подсветка дублей и сводка: сколько записей только в А, только в Б, сколько расхождений и дублей. Вставляете данные и смотрите результат. Другие таблицы для контроля и сводов собраны в разделе «Свод».

Таблица из статьи

Читайте также