Turinys
Šioje pamokoje parodyta, kaip "Excel" programoje naudoti VLOOKUP formulę dviem stulpeliams palyginti ir rasti bendras reikšmes (atitikmenis) arba trūkstamus duomenis (skirtumus).
Kai turite duomenų dviejuose skirtinguose sąrašuose, dažnai gali prireikti juos palyginti, kad sužinotumėte, kokios informacijos trūksta viename iš sąrašų arba kokių duomenų yra abiejuose sąrašuose. Lyginti galima įvairiais būdais - kurį metodą naudosite, priklauso nuo to, ko tiksliai norite.
Kaip palyginti du stulpelius programoje "Excel" naudojant VLOOKUP
Kai turite du duomenų stulpelius ir norite išsiaiškinti, kurie vieno sąrašo duomenų taškai yra kitame sąraše, galite naudoti VLOOKUP funkciją, kad palygintumėte sąrašus ieškodami bendrų reikšmių.
Norint sukurti pagrindinę VLOOKUP formulę, reikia atlikti šiuos veiksmus:
- Tinklalapiui lookup_value (1 argumentas), naudokite aukščiausią 1 sąrašo langelį.
- Tinklalapiui table_array (2 argumentas), pateikite visą 2 sąrašą.
- Tinklalapiui col_index_num (3 argumentas), naudokite 1, nes masyve yra tik vienas stulpelis.
- Tinklalapiui range_lookup (4 argumentas), nustatykite FALSE - tikslus atitikimas.
Tarkime, A stulpelyje (1 sąrašas) yra dalyvių vardai, o B stulpelyje (2 sąrašas) - dalyvių, įveikusių atrankos etapus, vardai. Norite palyginti šiuos du sąrašus ir nustatyti, kurie A grupės dalyviai pateko į pagrindinį renginį. Tam naudokite šią formulę.
=VLOOKUP(A2, $C$2:$C$9, 1, FALSE)
Formulė perkeliama į E2 langelį, tada ją vilkite žemyn per tiek langelių, kiek yra 1 sąrašo elementų.
Atkreipkite dėmesį, kad table_array yra užrakinta absoliučiomis nuorodomis ($C$2:$C$9), kad ji išliktų pastovi, kai formulę nukopijuosite į toliau esančius langelius.
Kaip matote, reikalavimus atitinkančių sportininkų vardai ir pavardės rodomi E stulpelyje, o likusių dalyvių vardai ir pavardės rodomi su klaida #N/A, nurodančia, kad jų vardų ir pavardžių 2 sąraše nėra.
Maskuotė #N/A klaidos
Pirmiau aptarta VLOOKUP formulė puikiai atlieka savo pagrindinį tikslą - grąžina bendras reikšmes ir nustato trūkstamus duomenų taškus. Tačiau ji pateikia daugybę #N/A klaidų, kurios gali suklaidinti nepatyrusius naudotojus ir priversti juos manyti, kad kažkas su formule negerai.
Norėdami pakeisti klaidas tušti langeliai , taip naudokite VLOOKUP kartu su funkcija IFNA arba IFERROR:
=IFNA(VLOOKUP(A2, $C$2:$C$9, 1, FALSE), "")
Mūsų patobulinta formulė grąžina tuščią eilutę ("") vietoj #N/A. Taip pat galite grąžinti savo pasirinktinis tekstas pavyzdžiui, "Nėra 2 sąraše", "Nėra" arba "Nėra". Pavyzdžiui:
=IFNA(VLOOKUP(A2, $C$2:$C$9, 1, FALSE), "Ne 2 sąraše")
Tai yra pagrindinė VLOOKUP formulė, skirta dviem stulpeliams palyginti "Excel" programoje. Priklausomai nuo konkrečios užduoties, ją galima keisti, kaip parodyta tolesniuose pavyzdžiuose.
Dviejų skirtingų "Excel" lapų stulpelių palyginimas naudojant VLOOKUP
Realiame gyvenime stulpeliai, kuriuos reikia palyginti, ne visada yra tame pačiame lape. Nedideliame duomenų rinkinyje skirtumus galite bandyti pastebėti rankiniu būdu, peržiūrėdami du lapus vieną šalia kito.
Norėdami atlikti paiešką kitame darbalapyje arba sąsiuvinyje, kuriame yra formulės, turite naudoti išorinę nuorodą. Geriausia praktika yra pradėti formulės rašymą pagrindiniame lape, tada pereiti į kitą darbalapį ir pele pasirinkti sąrašą - atitinkama diapazono nuoroda į formulę bus pridėta automatiškai.
Darant prielaidą, kad 1 sąrašas yra A stulpelyje 1 lapas o 2 sąrašas yra A stulpelyje Lapas2 , galite palyginti du stulpelius ir rasti atitikmenis naudodami šią formulę:
=IFNA(VLOOKUP(A2, Sheet2!$A$2:$A$9, 1, FALSE), "")
Daugiau informacijos žr:
- VLOOKUP iš kito lapo
- VLOOKUP iš kito sąsiuvinio
Palyginti du stulpelius ir grąžinti bendras reikšmes (atitikmenis)
Ankstesniuose pavyzdžiuose aptarėme paprasčiausią VLOOKUP formulę:
=IFNA(VLOOKUP(A2, $C$2:$C$9, 1, FALSE), "")
Šios formulės rezultatas yra abiejuose stulpeliuose esančių reikšmių sąrašas ir tušti langeliai vietoje reikšmių, kurių nėra antrajame stulpelyje.
Norėdami gauti bendrų reikšmių sąrašą be tarpų, tiesiog pridėkite automatinį filtrą prie gauto stulpelio ir išfiltruokite tuščias vietas.
Programose "Excel for Microsoft 365" ir "Excel 2021", palaikančiose dinaminius masyvus, galite pasinaudoti funkcija FILTER, kad dinamiškai atsijotumėte tuščius laukus. Tam kaip FILTER kriterijų naudokite IFNA VLOOKUP formulę:
=FILTRAS(A2:A14, IFNA(VLOOKUP(A2:A14, C2:C9, 1, FALSE), "")")")
Atkreipkite dėmesį į tai, kad šiuo atveju mes pateikiame visą 1 sąrašą (A2:A14) į lookup_value Funkcija palygina kiekvieną paieškos reikšmę su 2 sąrašu (C2:C9) ir grąžina atitikmenų masyvą bei #N/A klaidas, žyminčias trūkstamas reikšmes. Funkcija IFNA pakeičia klaidas tuščiomis eilutėmis ir pateikia rezultatus funkcijai FILTER, kuri išfiltruoja tuščius ženklus ("") ir kaip galutinį rezultatą pateikia atitikmenų masyvą.
Arba galite naudoti funkciją ISNA, kad patikrintumėte VLOOKUP rezultatą ir išfiltruotumėte elementus, kurių reikšmė yra FALSE, t. y. reikšmes, išskyrus #N/A klaidas:
=FILTRAS(A2:A14, ISNA(VLOOKUP(A2:A14, C2:C9, 1, FALSE))=FALSE)
Tą patį rezultatą galima pasiekti naudojant XLOOKUP funkciją, todėl formulė yra dar paprastesnė. Dėl XLOOKUP funkcijos gebėjimo viduje tvarkyti #N/A klaidas (neprivaloma if_not_found argumentas), galime apsieiti be IFNA arba ISNA apvalkalo:
=FILTRAS(A2:A14, XLOOKUP(A2:A14, C2:C9, C2:C9,"")"")
Palyginkite du stulpelius ir raskite trūkstamas reikšmes (skirtumus)
Jei norite palyginti 2 stulpelius "Excel" programoje ir rasti skirtumus, galite tai atlikti taip:
- Parašykite pagrindinę formulę, pagal kurią 2 sąraše ($C$2:$C$9) būtų ieškoma pirmosios reikšmės iš 1 sąrašo (A2):
VLOOKUP(A2, $C$2:$C$9, 1, FALSE)
- Įterpkite pirmiau pateiktą formulę į funkciją ISNA, kad patikrintumėte VLOOKUP išvestį, ar joje nėra #N/A klaidų. Klaidos atveju ISNA duoda TRUE, kitu atveju - FALSE:
ISNA(VLOOKUP(A2, $C$2:$C$9, 1, FALSE))
- Funkcijos IF loginiam testui naudokite ISNA VLOOKUP formulę. Jei testas įvertinamas TRUE (#N/A klaida), toje pačioje eilutėje grąžinkite reikšmę iš Sąrašo 1. Jei testas įvertinamas FALSE (rastas atitikmuo Sąraše 2), grąžinkite tuščią eilutę.
Pilna formulė yra tokios formos:
=IF(ISNA(VLOOKUP(A2, $C$2:$C$9, 1, FALSE)), A2, "")
Norėdami atsikratyti tuščių vietų, naudokite "Excel" filtrą, kaip parodyta pirmiau pateiktame pavyzdyje.
Programose "Excel 365" ir "Excel 2021" rezultatų sąrašą galite filtruoti dinamiškai. Šiuo tikslu tiesiog įdėkite ISNA VLOOKUP formulę į įtraukti funkcijos FILTER argumentas:
=FILTRAS(A2:A14, ISNA(VLOOKUP(A2:A14, C2:C9, 1, FALSE)))
Kitas būdas - kriterijams naudoti XLOOKUP - funkcija grąžina tuščias eilutes ("") trūkstamiems duomenų taškams, o jūs filtruojate 1 sąrašo reikšmes, kurioms XLOOKUP grąžino tuščias eilutes (=""):
=FILTRAS(A2:A14, XLOOKUP(A2:A14, C2:C9, C2:C9,"")="")
VLOOKUP formulė dviejų stulpelių atitikčiai ir skirtumams nustatyti
Jei prie pirmojo sąrašo norite pridėti tekstines etiketes, nurodančias, kurios reikšmės galimos antrajame sąraše, o kurios - ne, naudokite VLOOKUP formulę kartu su funkcijomis IF ir ISNA/ISERROR.
Pavyzdžiui, norint nustatyti vardus, kurie yra ir A, ir D stulpeliuose, ir tuos, kurie yra tik A stulpelyje, formulė yra tokia:
=IF(ISNA(VLOOKUP(A2, $D$2:$D$9, 1, FALSE)), "Nekvalifikuotas", "Kvalifikuotas")
Šiuo atveju funkcija ISNA fiksuoja VLOOKUP generuojamas #N/A klaidas ir perduoda šį tarpinį rezultatą funkcijai IF, kad ji grąžintų nurodytą tekstą klaidų atveju ir kitą tekstą sėkmingos paieškos atveju.
Šiame pavyzdyje naudojome etiketes "Nekvalifikuotas"/"Kvalifikuotas", kurios tinka mūsų pavyzdiniam duomenų rinkiniui. Jas galite pakeisti etiketėmis "Ne 2 sąraše"/"2 sąraše", "Negalima"/"Galima" arba bet kokiomis kitomis, jūsų manymu, tinkamomis etiketėmis.
Šią formulę geriausia įterpti į stulpelį, esantį greta 1 sąrašo, ir nukopijuoti į tiek langelių, kiek yra sąrašo elementų.
Dar vienas būdas nustatyti atitikimus ir skirtumus 2 stulpeliuose - naudoti funkciją MATCH:
=IF(ISNA(MATCH(A2, $D$2:$D$9, 0)), "Nėra 2 sąraše", "Yra 2 sąraše")
Palyginti 2 stulpelius ir grąžinti trečiojo stulpelio reikšmę
Dirbant su lentelėmis, kuriose yra susijusių duomenų, kartais gali prireikti palyginti dviejų skirtingų lentelių stulpelius ir grąžinti atitinkančią kito stulpelio reikšmę. Iš tikrųjų tai yra pagrindinis funkcijos VLOOKUP naudojimo būdas, kuriam ji ir buvo sukurta.
Pavyzdžiui, norint palyginti toliau pateiktų dviejų lentelių A ir D stulpelių pavadinimus ir grąžinti E stulpelio laiką, formulė yra tokia:
=VLOOKUP(A3, $D$3:$E$10, 2, FALSE)
Norėdami paslėpti #N/A klaidas, naudokite patikrintą sprendimą - funkciją IFNA:
=IFNA(VLOOKUP(A3, $D$3:$E$10, 2, FALSE), "")
Vietoj tuščių langelių galite grąžinti bet kokį tekstą, kurį norite įrašyti kaip trūkstamus duomenų taškus - tiesiog įveskite jį į paskutinį argumentą, pvz:
=IFNA(VLOOKUP(A3, $D$3:$E$10, 2, FALSE), "Nėra")
Be VLOOKUP, šią užduotį galima atlikti naudojant kelias kitas paieškos funkcijas.
Asmeniškai aš remčiausi lankstesne INDEX MATCH formule:
=IFNA(INDEX($E$3:$E$10, MATCH(A3, $D$3:$D$10, 0)), "")
Arba naudokite šiuolaikinę VLOOKUP įpėdinę - funkciją XLOOKUP, kurią galima naudoti "Excel 365" ir "Excel 2021":
=XLOOKUP(A3, $D$3:$D$10, $E$3:$E$10, "")
Norėdami gauti A grupės kvalifikuotų dalyvių vardus ir pavardes bei jų rezultatus, paprasčiausiai išfiltruokite tuščius B stulpelio langelius:
=FILTRAS(A3:B15, B3:B15"")
Palyginimo įrankiai
Jei dažnai lyginate failus ar duomenis "Excel" programoje, šie išmanūs įrankiai, įtraukti į "Ultimate Suite", gali labai sutaupyti jūsų laiko!
Lentelių palyginimas - greitas būdas rasti dublikatus (atitikmenis) ir unikalias reikšmes (skirtumus) bet kuriuose dviejuose duomenų rinkiniuose, pvz., stulpeliuose, sąrašuose ar lentelėse.
Palyginti du lapus - raskite ir paryškinkite dviejų darbalapių skirtumus.
Palyginkite kelis lapus - vienu metu raskite ir paryškinkite skirtumus keliuose lapuose.
Atsisiųsti praktikos sąsiuvinį
VLOOKUP "Excel" programoje stulpelių palyginimui - pavyzdžiai (.xlsx failas)