Зміст
Урок показує, як використовувати формулу СРЗНАЧ для порівняння двох стовпців, щоб повернути спільні значення (збіги) або знайти відсутні дані (відмінності).
Коли у вас є дані в двох різних списках, вам часто може знадобитися порівняти їх, щоб побачити, яка інформація відсутня в одному зі списків або які дані присутні в обох списках. Порівняння може бути зроблено багатьма різними способами - який метод використовувати, залежить від того, що саме ви хочете від нього отримати.
Як порівняти два стовпці в Excel за допомогою VLOOKUP
Якщо у вас є два стовпчики даних і ви хочете дізнатися, які точки даних з одного списку існують в іншому списку, ви можете використовувати функцію ПОИСК для порівняння списків на наявність спільних значень.
Щоб побудувати формулу VLOOKUP в її базовому вигляді, потрібно зробити ось що:
- За lookup_value (1-й аргумент), використовуйте саму верхню комірку зі списку 1.
- За table_array (2-й аргумент), надати весь Перелік 2.
- За col_index_num (3-й аргумент), використовуйте 1, оскільки в масиві лише один стовпець.
- За range_lookup (4-й аргумент), встановити FALSE - точний збіг.
Припустимо, у вас є імена учасників в колонці А (список 1) і імена тих, хто пройшов відбіркові тури в колонці Б (список 2). Ви хочете порівняти ці 2 списки, щоб визначити, хто з учасників з групи А пройшов в основну подію. Для цього скористайтеся наступною формулою.
=VLOOKUP(A2, $C$2:$C$9, 1, FALSE)
Формула потрапляє в комірку E2, а потім ви перетягуєте її вниз через стільки комірок, скільки елементів у списку 1.
Звертаємо Вашу увагу на те, що table_array блокується абсолютними посиланнями ($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")
Це базова формула СРЗНАЧ для порівняння двох стовпців в Excel. Залежно від конкретного завдання, вона може бути модифікована, як показано в наступних прикладах.
Порівняння двох стовпців на різних аркушах Excel за допомогою VLOOKUP
У реальному житті стовпці, які потрібно порівняти, не завжди знаходяться на одному аркуші. У невеликому наборі даних ви можете спробувати виявити відмінності вручну, переглядаючи два аркуші поруч.
Для пошуку в іншому аркуші або книзі з формулами необхідно використовувати зовнішнє посилання. Найкраще починати вводити формулу на основному аркуші, потім переключитися на інший аркуш і виділити список за допомогою миші - відповідне посилання на діапазон буде додано до формули автоматично.
Припускаючи, що Список 1 знаходиться в колонці А на Аркуш1 а список 2 знаходиться в колонці А на Лист2 можна порівняти два стовпчики і знайти збіги, використовуючи цю формулу:
=IFNA(VLOOKUP(A2, Sheet2!$A$2:$A$9, 1, FALSE), "")
Більш детальну інформацію можна знайти за посиланням:
- ВИКЛЮЧЕННЯ з іншого аркуша
- ВИКЛЮЧЕННЯ з іншої книги
Порівняти два стовпці та повернути спільні значення (співпадіння)
У попередніх прикладах ми розглянули формулу VLOOKUP у її найпростішому вигляді:
=IFNA(VLOOKUP(A2, $C$2:$C$9, 1, FALSE), "")
Результатом цієї формули є список значень, які існують в обох стовпчиках, і порожні клітинки на місці значень, відсутніх у другому стовпчику.
Щоб отримати список поширених значень без пропусків, просто додайте до отриманого стовпчика автофільтр і відфільтруйте пропуски.
В Excel для Microsoft 365 та Excel 2021, які підтримують динамічні масиви, можна скористатися функцією ФІЛЬТР для динамічного відсіювання пропусків. Для цього в якості критерію ФІЛЬТР використовуйте формулу IFNA VLOOKUP:
=FILTER(A2:A14, IFNA(VLOOKUP(A2:A14, C2:C9, 1, FALSE), "")""")
Звертаємо Вашу увагу, що в даному випадку ми постачаємо весь Список 1 (А2:А14) до 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 внутрішньо (опція if_not_found аргумент), можна обійтися без обгортки IFNA чи ISNA:
=FILTER(A2:A14, XLOOKUP(A2:A14, C2:C9, C2:C9,"")"")
Порівняйте два стовпчики та знайдіть пропущені значення (відмінності)
Щоб порівняти 2 стовпці в Excel і знайти відмінності, можна діяти таким чином:
- Запишіть основну формулу для пошуку першого значення зі списку 1 (A2) у списку 2 ($C$2:$C$9):
VLOOKUP(A2, $C$2:$C$9, 1, FALSE)
- Вкладіть наведену вище формулу у функцію ISNA, щоб перевірити вихід VLOOKUP на наявність помилок #N/A. У разі помилки ISNA видає значення TRUE, в іншому випадку - FALSE:
ISNA(VLOOKUP(A2, $C$2:$C$9, 1, FALSE))
- Використовуйте формулу 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 для визначення збігів і відмінностей між двома стовпцями
Якщо ви хочете додати до першого списку текстові підписи, що вказують, які значення доступні в другому списку, а які ні, використовуйте формулу СРЗНАЧ разом з функціями ЕСЛИ і ИСТИНА/ОШИБКА.
Наприклад, для визначення назв, які є в обох колонках А і D, і тих, які є тільки в колонці А, використовується формула:
=IF(ISNA(VLOOKUP(A2, $D$2:$D$9, 1, FALSE)), "Не має права", "Має право")
Тут функція ISNA перехоплює помилки #N/A, згенеровані VLOOKUP, і передає цей проміжний результат функції IF, щоб вона повернула вказаний текст для помилок і інший текст для успішного пошуку.
У цьому прикладі ми використовували мітки "Не кваліфіковано"/"Кваліфіковано", які підходять для нашого прикладу набору даних. Ви можете замінити їх на "Не в списку 2"/"У списку 2", "Не доступно"/"Доступно" або будь-які інші мітки, які ви вважаєте за потрібне.
Цю формулу найкраще вставити в стовпчик, що прилягає до Списку 1, і скопіювати через стільки клітинок, скільки елементів у вашому списку.
Ще один спосіб виявити збіги та розбіжності у 2 колонках - це використання функції СХОЖІСТЬ:
=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, "")
Щоб отримати імена кваліфікованих учасників з групи А та їх результати, просто відфільтруйте порожні клітинки в колонці Б:
=FILTER(A3:B15, B3:B15"")
Інструменти порівняння
Якщо ви часто виконуєте порівняння файлів або даних в Excel, ці розумні інструменти, включені в наш Ultimate Suite, можуть значно заощадити ваш час!
Порівняння таблиць - швидкий спосіб знайти дублікати (збіги) та унікальні значення (відмінності) в будь-яких двох наборах даних, таких як стовпці, список або таблиці.
Порівняти два аркуші - знайти та підкреслити відмінності між двома робочими аркушами.
Порівняти кілька аркушів - знайти і виділити відмінності відразу в декількох аркушах.
Практичний посібник для завантаження
VLOOKUP в Excel для порівняння стовпців - приклади (файл .xlsx)