Получил вот такой вопрос:
И хочу предложить один из вариантов решения этой задачи с помощью стандартных инструментов Excel (в следующих постах также рассмотрим решение отдельно с помощью Power Query и отдельно с помощью VBA).
Итак, из постановки задачи получается, что у нас есть столбец с фамилией, именем и отчеством и в соседнем столбце указывается номер паспорта. В этой таблице теперь надо найти те записи, в которых для одного и того же человека указываются разные номера паспортов.
Как я понимаю, речь скорее всего идёт об определенном списке, который со временем пополняется всё новыми записями и нужно найти те записи, в которых были неправильно внесены паспортные номера.
Так что, во-первых, я создал список с тридцатью воображаемыми лицами, каждому из которых присвоен рандомный номер, представим, что это и есть такой номер паспорта. Получается это и будет исходный список уникальных имён с правильными номерами паспортов, по которому мы в итоге и будем проверять правильность нашего решения:
Теперь я создам этот самый упомянутый в постановке задачи лист записи. То есть рандомно заполняю столбец ФИО лицами из нашей исходной таблички (добавляю около трёхсот строк), и в случае пяти строк преднамеренно вношу неправильный номер паспорта, симулируя ошибку.
Если также хочешь потренироваться в решении этой задачи, то вот ссылка на скачивание файла, показанного выше:
https://drive.google.com/file/d/1-y1erQDwHdAMId-juqpJ0KGMtVF...
Итак, теперь собственно процесс поиска внесённых ошибок (естественно, представляем, что не знаем их).
В первую очередь статично пронумеруем все строки, кому-как удобно (формулой и вставкой в виде значений или автозаполнением):
Теперь будем удалять дубликаты по первым двум столбцам. Для этого выбираем одну из ячеек таблицы и идём во вкладку «Данные», где затем щелкаем по «Удалить дубликаты».
Здесь убираем галочку напротив столбца «Номер», так как он нам иначе помешает удалить правильные дубликаты записей и подтверждаем операцию. Итог будет следующий:
Уже у нас осталось 35 уникальных значений, что на 5 больше, чем в исходной таблице. Поэтому теперь делаем следующее.
Добавляем столбец «Подсчёт», и прописываем в нём функцию СЧЁТЕСЛИ. В первом аргументе указываем столбец со всеми ФИО, а во втором аргументе ссылаемся на ФИО текущей строки таблицы:
При этом я здесь работаю с умной таблицей, поэтому у меня были вставлены так называемые структурные ссылки ([ФИО], [@ФИО] и т.д.). Если тебе приходится проделывать эту операцию с обычным диапазоном на рабочем листе, то процесс имеет мельчайшее отличие (просто важно не забывать закреплять ссылки).
Вот что в итоге выходит в столбце «Подсчёт». Функция СЧЁТЕСЛИ считает, сколько раз встречается имя каждой текущей строки во всей таблице. Если имя встречается всего один раз, то из этого следует, что все записи с этим именем в таблице имели одинаковый номер паспорта. Там же где мы видим любое другое число нам становится понятно, сколько вариантов номера паспорта была внесено для одного и того же человека.
Так что всё что остаётся — это профильтровать значения. Убираю в фильтре столбца «Подсчёт» единицы, и мы получаем следующий результат:
Вот у нас и показаны лишь те записи, в которых для одних и тех же лиц были вписаны разные номера паспортов. По сути дела все, задача выполнена – теперь мы знаем, что в листе записи, нужно проверить строки с выведенными на картинке выше номерами.
Ну и конечно же можно еще сделать итоговый результат попривлекательнее (условное форматирование, сортировка и так далее):
Вот такое решение поставленной задачи с помощью стандартных инструментов Excel. Если хочешь более подробно узнать о всём, что было проделано в этом примере, предлагаю посмотреть следующее видео (в нём, помимо прочего, подробно рассказываю о примененном условном форматировании, о удалении дубликатов нескольких столбцов и т.д.):
Ну а в одном из следующих столбцов мы разберем более интересное и более оптимальное решение этой же задачи – с помощью Power Query!