Как да сравнявате две колони в Excel с помощта на VLOOKUP

  • Споделя Това
Michael Brown

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

Когато разполагате с данни в два различни списъка, често може да се наложи да ги сравните, за да видите каква информация липсва в единия от списъците или какви данни присъстват и в двата. Сравняването може да се извърши по много различни начини - кой метод да използвате зависи от това какво точно искате от него.

    Как да сравнявате две колони в Excel с помощта на VLOOKUP

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

    За да създадете формула VLOOKUP в нейната основна форма, трябва да направите следното:

    • За lookup_value (1-ви аргумент), използвайте най-горната клетка от списък 1.
    • За table_array (2-ри аргумент), предоставете целия списък 2.
    • За col_index_num (3-ти аргумент), използвайте 1, тъй като в масива има само една колона.
    • За range_lookup (4-ти аргумент), задайте FALSE - точно съвпадение.

    Да предположим, че имате имената на участниците в колона А (списък 1) и имената на преминалите през квалификационните кръгове в колона Б (списък 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")

    Това е основната формула VLOOKUP за сравняване на две колони в Excel. В зависимост от конкретната задача тя може да бъде променена, както е показано в следващите примери.

    Сравняване на две колони в различни листове на Excel с помощта на VLOOKUP

    В реалния живот колоните, които трябва да сравнявате, невинаги се намират на един и същи лист. В малък набор от данни можете да опитате да откриете разликите ръчно, като прегледате два листа един до друг.

    За да търсите в друг работен лист или работна книга с формули, трябва да използвате външна препратка. Най-добрата практика е да започнете да въвеждате формулата в основния си лист, след което да преминете към другия работен лист и да изберете списъка с помощта на мишката - към формулата автоматично ще бъде добавена подходяща препратка към обхвата.

    Ако приемем, че списък 1 е в колона А на Лист1 а списък 2 е в колона А на Лист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:

    =ФИЛТЪР(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 (по избор) if_not_found аргумент), можем да минем без обвивката 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 е върнала празни низове (=""):

    =ФИЛТЪР(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)), "Not qualified", "Qualified")

    Тук функцията ISNA улавя грешките #N/A, генерирани от VLOOKUP, и предава този междинен резултат на функцията IF, за да върне посочения текст за грешки и друг текст за успешни търсения.

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

    Най-добре е тази формула да се вмъкне в колона, съседна на Списък 1, и да се копира в толкова клетки, колкото са елементите в списъка.

    Още един начин за идентифициране на съвпадения и разлики в 2 колони е използването на функцията 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, "")

    За да получите имената на квалифицираните участници от група А и техните резултати, просто филтрирайте празните клетки в колона Б:

    =ФИЛТЪР(A3:B15, B3:B15"")

    Инструменти за сравнение

    Ако често сравнявате файлове или данни в Excel, тези интелигентни инструменти, включени в нашия Ultimate Suite, могат да ви спестят много време!

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

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

    Сравняване на няколко листа - открийте и подчертайте разликите в няколко листа едновременно.

    Практическа работна тетрадка за изтегляне

    VLOOKUP в Excel за сравняване на колони - примери (.xlsx файл)

    Майкъл Браун е отдаден технологичен ентусиаст със страст към опростяване на сложни процеси с помощта на софтуерни инструменти. С повече от десетилетие опит в технологичната индустрия, той е усъвършенствал уменията си в Microsoft Excel и Outlook, както и в Google Sheets и Docs. Блогът на Майкъл е посветен на споделянето на неговите знания и опит с други, предоставяйки лесни за следване съвети и уроци за подобряване на продуктивността и ефективността. Независимо дали сте опитен професионалист или начинаещ, блогът на Michael предлага ценни прозрения и практически съвети за извличане на максимума от тези основни софтуерни инструменти.