Как сравнить два столбца в Excel с помощью VLOOKUP

  • Поделись Этим
Michael Brown

В учебнике показано, как использовать формулу VLOOKUP в Excel для сравнения двух столбцов, чтобы вернуть общие значения (совпадения) или найти недостающие данные (различия).

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

    Как сравнить два столбца в Excel с помощью VLOOKUP

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

    Чтобы построить формулу VLOOKUP в ее базовой форме, вот что вам нужно сделать:

    • Для lookup_value (1-й аргумент), используйте самую верхнюю ячейку из списка 1.
    • Для массив_таблиц (2-й аргумент), предоставить весь список 2.
    • Для col_index_num (3-й аргумент), используйте 1, так как в массиве только один столбец.
    • Для range_lookup (4-й аргумент), установите FALSE - точное совпадение.

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

    =VLOOKUP(A2, $C$2:$C$9, 1, FALSE)

    Формула попадает в ячейку E2, а затем вы перетаскиваете ее вниз через столько ячеек, сколько элементов в Списке 1.

    Обратите внимание, что массив_таблиц фиксируется с помощью абсолютных ссылок ($C$2:$C$9), чтобы она оставалась постоянной при копировании формулы в нижележащие ячейки.

    Как вы видите, имена квалифицированных спортсменов отображаются в столбце E. Для остальных участников появляется ошибка #N/A, указывающая на то, что их имена отсутствуют в Списке 2.

    Маскировка #N/A ошибки

    Рассмотренная выше формула VLOOKUP прекрасно справляется со своей основной задачей - возвращает общие значения и определяет недостающие точки данных. Однако она выдает кучу ошибок #N/A, что может сбить с толку неопытных пользователей и заставить их думать, что с формулой что-то не так.

    Чтобы заменить ошибки на пустые ячейки , используйте VLOOKUP в сочетании с функцией IFNA или IFERROR таким образом:

    =IFNA(VLOOKUP(A2, $C$2:$C$9, 1, FALSE), "")

    Наша улучшенная формула возвращает пустую строку ("") вместо #N/A. Вы также можете вернуть свой пользовательский текст например, "Нет в списке 2", "Не присутствует" или "Нет в наличии". Например:

    =IFNA(VLOOKUP(A2, $C$2:$C$9, 1, FALSE), "Нет в списке 2")

    Это основная формула VLOOKUP для сравнения двух столбцов в Excel. В зависимости от вашей конкретной задачи, она может быть изменена, как показано в дальнейших примерах.

    Сравните два столбца в разных листах Excel с помощью VLOOKUP

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

    Для поиска в другом рабочем листе или рабочей книге с формулами необходимо использовать внешнюю ссылку. Лучше всего начать вводить формулу на своем основном листе, затем переключиться на другой рабочий лист и выделить список с помощью мыши - соответствующая ссылка на диапазон будет добавлена в формулу автоматически.

    Предполагая, что список 1 находится в столбце A на Лист1 и список 2 находится в колонке A на Лист2 Вы можете сравнить два столбца и найти совпадения, используя эту формулу:

    =IFNA(VLOOKUP(A2, Sheet2!$A$2:$A$9, 1, FALSE), "")

    Более подробную информацию см:

    • VLOOKUP с другого листа
    • VLOOKUP из другой рабочей книги

    Сравнить два столбца и вернуть общие значения (совпадения)

    В предыдущих примерах мы рассмотрели формулу VLOOKUP в ее простейшей форме:

    =IFNA(VLOOKUP(A2, $C$2:$C$9, 1, FALSE), "")

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

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

    В Excel для Microsoft 365 и Excel 2021, поддерживающих динамические массивы, вы можете использовать функцию FILTER для динамического отсеивания пустых данных. Для этого используйте формулу IFNA VLOOKUP в качестве критерия для FILTER:

    =FILTER(A2:A14, IFNA(VLOOKUP(A2:A14, C2:C9, 1, FALSE), "")"")

    Обратите внимание, что в этом случае мы поставляем весь список 1 (A2:A14) в lookup_value Функция сравнивает каждое из значений поиска со списком 2 (C2:C9) и возвращает массив совпадений и ошибки #N/A, представляющие отсутствующие значения. Функция IFNA заменяет ошибки пустыми строками и передает результаты функции FILTER, которая отфильтровывает пробелы ("") и выводит массив совпадений в качестве окончательного результата.

    В качестве альтернативы можно использовать функцию ISNA для проверки результата VLOOKUP и отфильтровать элементы, оценивающие FALSE, т.е. значения, отличные от ошибок #N/A:

    =FILTER(A2:A14, ISNA(VLOOKUP(A2:A14, C2:C9, 1, FALSE))=FALSE)

    Того же результата можно достичь с помощью функции XLOOKUP, что делает формулу еще проще. Благодаря способности XLOOKUP внутренне обрабатывать ошибки #N/A (опционально если_не_найдено аргумент), мы можем обойтись без обертки IFNA или ISNA:

    =FILTER(A2:A14, XLOOKUP(A2:A14, C2:C9, C2:C9,"")"")

    Сравните два столбца и найдите недостающие значения (различия)

    Чтобы сравнить 2 столбца в Excel и найти различия, можно поступить следующим образом:

    1. Напишите основную формулу для поиска первого значения из списка 1 (A2) в списке 2 ($C$2:$C$9):

      VLOOKUP(A2, $C$2:$C$9, 1, FALSE)

    2. Вложите приведенную выше формулу в функцию ISNA для проверки вывода VLOOKUP на наличие ошибок #N/A. В случае ошибки ISNA выдает TRUE, иначе FALSE:

      ISNA(VLOOKUP(A2, $C$2:$C$9, 1, FALSE))

    3. Используйте формулу ISNA VLOOKUP для логического теста функции IF. Если тест оценивается как TRUE (ошибка #N/A), верните значение из списка 1 в той же строке. Если тест оценивается как FALSE (найдено соответствие в списке 2), верните пустую строку.

    Полная формула имеет следующий вид:

    =IF(ISNA(VLOOKUP(A2, $C$2:$C$9, 1, FALSE)), A2, "")

    Чтобы избавиться от пробелов, примените фильтр Excel, как показано в примере выше.

    В Excel 365 и Excel 2021 можно динамически фильтровать список результатов. Для этого просто поместите формулу ISNA VLOOKUP в файл включить аргумент функции FILTER:

    =FILTER(A2:A14, ISNA(VLOOKUP(A2:A14, C2:C9, 1, FALSE)))

    Другой способ заключается в использовании XLOOKUP для критериев - функция возвращает пустые строки ("") для отсутствующих точек данных, и вы фильтруете значения в Списке 1, для которых XLOOKUP вернула пустые строки (=""):

    =FILTER(A2:A14, XLOOKUP(A2:A14, C2:C9, C2:C9,"")="")

    Формула VLOOKUP для выявления совпадений и различий между двумя столбцами

    Если вы хотите добавить в первый список текстовые метки, указывающие, какие значения доступны во втором списке, а какие нет, используйте формулу VLOOKUP вместе с функциями IF и ISNA/ISERROR.

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

    =IF(ISNA(VLOOKUP(A2, $D$2:$D$9, 1, FALSE)), "Не квалифицирован", "Квалифицирован")

    Здесь функция ISNA перехватывает ошибки #N/A, генерируемые VLOOKUP, и передает этот промежуточный результат функции IF, чтобы она вернула указанный текст для ошибок и другой текст для успешного поиска.

    В этом примере мы использовали метки "Not qualified"/"Qualified", которые подходят для нашего набора данных. Вы можете заменить их на "Not in List 2"/"In List 2", "Not available"/"Available" или любые другие метки, которые вы считаете нужными.

    Эту формулу лучше всего вставить в столбец, смежный со списком 1, и скопировать через столько ячеек, сколько элементов в вашем списке.

    Еще один способ выявления совпадений и различий в двух столбцах - использование функции MATCH:

    =IF(ISNA(MATCH(A2, $D$2:$D$9, 0)), "Нет в списке 2", "В списке 2")

    Сравнить 2 столбца и вернуть значение из третьего

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

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

    =VLOOKUP(A3, $D$3:$E$10, 2, FALSE)

    Чтобы скрыть ошибки #N/A, используйте проверенное решение - функцию IFNA:

    =IFNA(VLOOKUP(A3, $D$3:$E$10, 2, FALSE), "")

    Вместо пробелов вы можете вернуть любой текст для отсутствующих точек данных - просто введите его в последний аргумент. Например:

    =IFNA(VLOOKUP(A3, $D$3:$E$10, 2, FALSE), "Нет в наличии")

    Кроме VLOOKUP, задачу можно решить с помощью нескольких других функций поиска.

    Лично я полагался бы на более гибкую формулу INDEX MATCH:

    =IFNA(INDEX($E$3:$E$10, MATCH(A3, $D$3:$D$10, 0)), "")

    Или используйте современную преемницу VLOOKUP - функцию XLOOKUP, доступную в Excel 365 и Excel 2021:

    =XLOOKUP(A3, $D$3:$D$10, $E$3:$E$10, "")

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

    =FILTER(A3:B15, B3:B15"")

    Инструменты сравнения

    Если вы часто выполняете сравнение файлов или данных в Excel, эти интеллектуальные инструменты, включенные в наш пакет Ultimate Suite, помогут вам сэкономить время!

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

    Сравнить два листа - найти и выделить различия между двумя рабочими листами.

    Сравнение нескольких листов - поиск и выделение различий сразу в нескольких листах.

    Рабочая тетрадь для тренировок для скачивания

    VLOOKUP в Excel для сравнения столбцов - примеры (файл.xlsx)

    Майкл Браун — увлеченный технологический энтузиаст, стремящийся упростить сложные процессы с помощью программных инструментов. Имея более чем десятилетний опыт работы в технологической отрасли, он отточил свои навыки в Microsoft Excel и Outlook, а также в Google Sheets и Docs. Блог Майкла посвящен тому, чтобы делиться своими знаниями и опытом с другими, предоставляя простые советы и учебные пособия для повышения производительности и эффективности. Являетесь ли вы опытным профессионалом или новичком, в блоге Майкла вы найдете ценную информацию и практические советы, которые помогут вам максимально эффективно использовать эти важные программные инструменты.