Sisukord
Õpetus näitab, kuidas kasutada VLOOKUP-vormelit Excelis kahe veeru võrdlemiseks, et anda tagasi ühised väärtused (vasted) või leida puuduvad andmed (erinevused).
Kui teil on andmed kahes erinevas nimekirjas, võib sageli tekkida vajadus neid võrrelda, et näha, milline teave ühes nimekirjas puudub või millised andmed on mõlemas olemas. Võrdlust saab teha mitmel erineval viisil - millist meetodit kasutada, sõltub sellest, mida te sellest täpselt soovite.
Kuidas võrrelda kahte veergu Excelis, kasutades VLOOKUP-i
Kui teil on kaks andmeveergu ja soovite teada saada, millised andmepunktid ühest nimekirjast on olemas teises nimekirjas, saate kasutada funktsiooni VLOOKUP, et võrrelda nimekirju ühiste väärtuste leidmiseks.
VLOOKUP-vormeli koostamiseks selle põhivormel on vaja teha järgmist:
- Sest lookup_value (1. argument), kasutage nimekirja 1 kõige ülemist lahtrit.
- Sest table_array (2. argument), esitage kogu loetelu 2.
- Sest col_index_num (3. argument), kasutage 1, kuna massiivis on ainult üks veerg.
- Sest range_lookup (4. argument), määrata FALSE - täpne vaste.
Oletame, et teil on veerus A (nimekiri 1) osalejate nimed ja veerus B (nimekiri 2) kvalifikatsioonivoorude läbinud osalejate nimed. Te soovite neid kahte nimekirja võrrelda, et teha kindlaks, millised osalejad grupist A pääsesid põhiturniirile. Selleks kasutage järgmist valemit.
=VLOOKUP(A2, $C$2:$C$9, 1, FALSE)
Valem läheb lahtrisse E2 ja seejärel lohistate selle läbi nii paljude lahtrite, kui palju on elemente loendis 1.
Pange tähele, et table_array on lukustatud absoluutsete viidetega ($C$2:$C$9), nii et see jääb konstantseks, kui kopeerite valemi allolevatesse lahtritesse.
Nagu näete, kuvatakse kvalifitseerunud sportlaste nimed veerus E. Ülejäänud osalejate puhul kuvatakse #N/A viga, mis näitab, et nende nimed ei ole nimekirjas 2 kättesaadavad.
Disguise #N/A vead
Eespool käsitletud VLOOKUP-valem täidab suurepäraselt oma peamise eesmärgi - tagastab ühised väärtused ja tuvastab puuduvad andmepunktid. See annab aga hulga #N/A vigu, mis võivad kogemusteta kasutajaid segadusse ajada, mistõttu nad arvavad, et valemiga on midagi valesti.
Et asendada vead tühjad lahtrid , kasutage VLOOKUPi koos funktsiooniga IFNA või IFERROR sel viisil:
=IFNA(VLOOKUP(A2, $C$2:$C$9, 1, FALSE), "")
Meie täiustatud valem tagastab #N/A asemel tühja stringi (""). Saate tagastada ka oma kohandatud tekst näiteks "Ei ole nimekirjas 2", "Ei ole kohal" või "Ei ole saadaval". Näiteks:
=IFNA(VLOOKUP(A2, $C$2:$C$9, 1, FALSE), "Ei ole nimekirjas 2")
See on VLOOKUPi põhivalem kahe veeru võrdlemiseks Excelis. Sõltuvalt teie konkreetsest ülesandest saab seda muuta, nagu on näidatud edasistes näidetes.
VLOOKUP-i abil kahe veeru võrdlemine erinevates Exceli lehtedes
Reaalses elus ei ole võrreldavad veerud alati samal lehel. Väikese andmekogumi puhul võite proovida erinevusi käsitsi tuvastada, vaadates kahte lehte kõrvuti.
Selleks, et otsida valemeid teises töölehel või töövihikus, peate kasutama välist viidet. Parim praktika on alustada valemi sisestamist oma põhilehel, seejärel minna teisele töölehele ja valida loetelu hiirega - sobiv vahemikuviide lisatakse valemisse automaatselt.
Eeldades, et loetelu 1 on veerus A aadressil Leht1 ja nimekiri 2 on veerus A Leht2 , saate võrrelda kahte veergu ja leida vasteid selle valemi abil:
=IFNA(VLOOKUP(A2, Sheet2!$A$2:$A$9, 1, FALSE), "")
Lisateabe saamiseks vt:
- VLOOKUP teiselt lehelt
- VLOOKUP teisest töövihikust
Võrrelda kahte veergu ja tagastada ühised väärtused (vasted)
Eelmistes näidetes arutasime VLOOKUP-valemit selle lihtsaimal kujul:
=IFNA(VLOOKUP(A2, $C$2:$C$9, 1, FALSE), "")
Selle valemi tulemuseks on mõlemas veerus olevate väärtuste loetelu ja tühjad lahtrid teises veerus puuduvate väärtuste asemel.
Et saada lünkadeta ühiste väärtuste loetelu, lisage tulemuseks olevale veerule lihtsalt autofilter ja filtreerige tühikud välja.
Excel for Microsoft 365 ja Excel 2021, mis toetavad dünaamilisi massiive, saate kasutada funktsiooni FILTER, et sõeluda tühikuid dünaamiliselt välja. Kasutage selleks FILTERi kriteeriumina valemit IFNA VLOOKUP:
=FILTER(A2:A14, IFNA(VLOOKUP(A2:A14, C2:C9, 1, FALSE), "")""")
Palun pöörake tähelepanu sellele, et sel juhul edastame kogu nimekirja 1 (A2:A14), et lookup_value Funktsioon võrdleb kõiki otsinguväärtusi loendi 2 (C2:C9) väärtustega ja tagastab kokkulangevuste ja puuduvaid väärtusi esindavate #N/A vigade massiivi. Funktsioon IFNA asendab vead tühjade stringidega ja edastab tulemused funktsioonile FILTER, mis filtreerib tühjad ("") välja ja väljastab lõpptulemusena kokkulangevuste massiivi.
Alternatiivina võite kasutada funktsiooni ISNA, et kontrollida VLOOKUP-i tulemust ja filtreerida FALSE-ga hinnatud elemendid, st muud väärtused kui #N/A vead:
=FILTER(A2:A14, ISNA(VLOOKUP(A2:A14, C2:C9, 1, FALSE))=FALSE)
Sama tulemus on võimalik saavutada ka funktsiooniga XLOOKUP, mis muudab valemi veelgi lihtsamaks. Tänu XLOOKUPi võimele käsitleda sisemiselt #N/A vigu (valikuline if_not_found argument), saame hakkama ilma IFNA või ISNA pakendita:
=FILTER(A2:A14, XLOOKUP(A2:A14, C2:C9, C2:C9,"")"")
Võrrelda kahte veergu ja leida puuduvad väärtused (erinevused)
Et võrrelda 2 veergu Excelis erinevuste leidmiseks, võite toimida järgmiselt:
- Kirjutage põhivalem, et otsida esimest väärtust nimekirjast 1 (A2) nimekirjas 2 ($C$2:$C$9):
VLOOKUP(A2, $C$2:$C$9, 1, FALSE)
- Pesitse ülaltoodud valemit funktsioonis ISNA, et kontrollida VLOOKUPi väljundit #N/A vigade suhtes. Vea korral annab ISNA tulemuseks TRUE, vastasel juhul FALSE:
ISNA(VLOOKUP(A2, $C$2:$C$9, 1, FALSE))
- Kasutage ISNA VLOOKUP valemit IF-funktsiooni loogilise testi jaoks. Kui testi tulemuseks on TRUE (#N/A viga), tagastage väärtus loetelust 1 samas reas. Kui testi tulemuseks on FALSE (leitakse vastavus loetelus 2), tagastage tühi string.
Täielik valem on sellisel kujul:
=IF(ISNA(VLOOKUP(A2, $C$2:$C$9, 1, FALSE)), A2, "")
Tühikutest vabanemiseks rakendage Exceli filtrit, nagu on näidatud ülaltoodud näites.
Excel 365-s ja Excel 2021-s saate tulemuste nimekirja dünaamiliselt filtreerida. Selleks paigutage lihtsalt valem ISNA VLOOKUP valemiga lisada funktsiooni FILTER argument:
=FILTER(A2:A14, ISNA(VLOOKUP(A2:A14, C2:C9, 1, FALSE)))
Teine võimalus on kasutada kriteeriumide jaoks XLOOKUPi - funktsioon tagastab tühjad stringid ("") puuduvate andmepunktide puhul ja te filtreerite nimekirja 1 väärtused, mille puhul XLOOKUP tagastas tühjad stringid (=""):
=FILTER(A2:A14, XLOOKUP(A2:A14, C2:C9, C2:C9,"")="")
VLOOKUP valem kahe veeru vaheliste kokkulangevuste ja erinevuste tuvastamiseks
Kui soovite lisada esimesele loetelule tekstisildid, mis näitavad, millised väärtused on teises loetelus saadaval ja millised mitte, kasutage valemit VLOOKUP koos funktsioonidega IF ja ISNA/ISERROR.
Näiteks, et tuvastada nimed, mis on nii veerus A kui ka D, ja need, mis on ainult veerus A, on valem järgmine:
=IF(ISNA(VLOOKUP(A2, $D$2:$D$9, 1, FALSE)), "Ei ole kvalifitseeritud", "Kvalifitseeritud")
Siin püüab ISNA funktsioon VLOOKUPi poolt genereeritud #N/A vead ja edastab selle vahetulemuse IF-funktsioonile, et see tagastaks vigade korral määratud teksti ja eduka otsingu korral teise teksti.
Selles näites kasutasime märgiseid "Not qualified"/"Qualified", mis sobivad meie näidisandmestiku jaoks. Te võite asendada need märgised "Not in List 2"/"In List 2", "Not available"/"Available" või mis tahes muu sobivaks peetava märgisega.
See valem on kõige parem sisestada nimekirja 1 kõrval asuvasse veergu ja kopeerida see läbi nii paljude lahtrite, kui palju on teie nimekirjas kirjeid.
Veel üks võimalus 2 veeru kokkulangevuste ja erinevuste tuvastamiseks on funktsiooni MATCH kasutamine:
=IF(ISNA(MATCH(A2, $D$2:$D$9, 0)), "Ei ole nimekirjas 2", "Nimekirjas 2")
Võrrelda 2 veergu ja tagastada väärtus kolmandast veerust
Kui töötate seotud andmeid sisaldavate tabelitega, võib mõnikord olla vaja võrrelda kahte veergu kahes erinevas tabelis ja tagastada vastav väärtus teisest veerust. Tegelikult on see funktsiooni VLOOKUP peamine kasutusviis, milleks see ongi loodud.
Näiteks, et võrrelda kahe alloleva tabeli veergudes A ja D olevaid nimesid ja tagastada aeg veerust E, on valem järgmine:
=VLOOKUP(A3, $D$3:$E$10, 2, FALSE)
#N/A vigade peitmiseks kasutage tõestatud lahendust - IFNA funktsiooni:
=IFNA(VLOOKUP(A3, $D$3:$E$10, 2, FALSE), "")
Tühikute asemel võite puuduvate andmepunktide puhul tagastada mis tahes teksti - kirjutage see lihtsalt viimaseks argumendiks. Näiteks:
=IFNA(VLOOKUP(A3, $D$3:$E$10, 2, FALSE), "Ei ole saadaval")
Lisaks VLOOKUPile saab seda ülesannet täita ka mõne muu otsingufunktsiooniga.
Mina isiklikult toetuksin paindlikumale INDEX MATCH valemile:
=IFNA(INDEX($E$3:$E$10, MATCH(A3, $D$3:$D$10, 0)), "")
Või kasutage VLOOKUPi kaasaegset järeltulijat - funktsiooni XLOOKUP, mis on saadaval Excel 365 ja Excel 2021:
=XLOOKUP(A3, $D$3:$D$10, $E$3:$E$10, "")
Et saada rühma A kvalifitseeritud osalejate nimed ja nende tulemused, filtreerige lihtsalt tühjad lahtrid veerus B välja:
=FILTER(A3:B15, B3:B15"")
Võrdlusvahendid
Kui teete Excelis sageli failide või andmete võrdlemist, võivad need meie Ultimate Suite'is sisalduvad nutikad tööriistad säästa teie aega tohutult!
Tabelite võrdlemine - kiire viis duplikaatide (kokkulangevused) ja unikaalsete väärtuste (erinevused) leidmiseks mis tahes kahes andmekogumis, näiteks veergudes, nimekirjades või tabelites.
Võrdle kahte lehte - leia ja tõsta esile erinevused kahe töölehe vahel.
Võrdle mitu lehte - leia ja tõsta esile erinevused mitmes lehel korraga.
Praktiline töövihik allalaadimiseks
VLOOKUP Excelis veergude võrdlemiseks - näited (.xlsx fail)