Sadržaj
Vodič predstavlja XLOOKUP - novu funkciju za vertikalno i horizontalno traženje u Excelu. Traženje lijevo, posljednje podudaranje, Vlookup s više kriterija i puno više stvari koje su nekada zahtijevale diplomu iz raketnih znanosti da bi se ostvarile sada su postale jednostavne kao ABC.
Kad god trebate potražiti u Excelu , koju funkciju biste koristili? Da li je to kamen temeljac VLOOKUP ili njegov horizontalni brat HLOOKUP? U složenijem slučaju, hoćete li se osloniti na kanonsku kombinaciju INDEX MATCH ili predati posao na Power Query? Dobra vijest je da više nemate izbora - sve ove metode otvaraju mjesto moćnijem i svestranijem nasljedniku, funkciji XLOOKUP.
Kako je XLOOKUP bolji? Na mnogo načina! Može izgledati okomito i horizontalno, lijevo i iznad, pretraživati s više kriterija, pa čak i vratiti cijeli stupac ili red podataka, a ne samo jednu vrijednost. Microsoftu je trebalo više od 3 decenije, ali su konačno uspjeli dizajnirati robusnu funkciju koja prevazilazi mnoge frustrirajuće greške i slabosti VLOOKUP-a.
U čemu je kvaka? Avaj, postoji jedan. Funkcija XLOOKUP dostupna je samo u Excelu za Microsoft 365, Excel 2021 i Excel za web.
Excel funkcija XLOOKUP - sintaksa i koristi
funkciju XLOOKUP u Excel pretražuje raspon ili niz za određenu vrijednost i vraća srodnu vrijednost iz druge kolone. Može tražiti obojedohvatiti sve detalje koji se odnose na prodavača od interesa (F2). Ono što treba da uradite je da navedete raspon, a ne jedan stupac ili red, za argument return_array :
=XLOOKUP(F2, A2:A7, B2:D7)
Unesite formulu u gornjem levom uglu ćeliju raspona rezultata, a Excel automatski prebacuje rezultate u susjedne prazne ćelije. U našem slučaju, polje vraćanja (B2:D7) uključuje 3 kolone ( Datum , Stavka i Iznos ), a sve tri vrijednosti se vraćaju u raspon G2:I2.
Ako biste radije rasporedili rezultate okomito u stupac, ugnijezdite XLOOKUP u funkciju TRANSPOSE da biste preokrenuli vraćeni niz:
=TRANSPOSE(XLOOKUP(G1, A2:A7, B2:D7))
Na sličan način, možete vratiti cijeli stupac podataka, recimo stupac Iznos . Za ovo koristite ćeliju F1 koja sadrži "Iznos" kao lookup_value , raspon A1:D1 koji sadrži zaglavlja stupaca kao lookup_array i raspon A2:D7 koji sadrži sve podatke kao return_array .
=XLOOKUP(F1, A1:D1, A2:D7)
Napomena. Budući da je više vrijednosti popunjeno u susjedne ćelije, provjerite imate li dovoljno praznih ćelija desno ili dolje. Ako Excel ne može pronaći dovoljno praznih ćelija, prikazuje se #SPILL! dolazi do greške.
Savjet. XLOOKUP ne samo da može vratiti višestruke unose već ih i zamijeniti drugim vrijednostima koje navedete. Primjer takve masovne zamjene možete pronaći ovdje: Kako pretraživati i zamijeniti više vrijednosti sa XLOOKUP.
XLOOKUP savišestruki kriteriji
Još jedna velika prednost XLOOKUP-a je to što on nativno obrađuje nizove. Zbog ove sposobnosti, možete procijeniti više kriterija direktno u argumentu lookup_array :
XLOOKUP(1, ( raspon_kriterija1 = kriterijum1 ) * ( raspon_kriterija2 = kriterija2 ) * (…), povratni_niz )Kako ova formula funkcionira : Rezultat svakog testa kriterija je niz vrijednosti TRUE i FALSE. Množenje nizova pretvara TRUE i FALSE u 1 i 0, respektivno, i proizvodi konačni niz pretraživanja. Kao što znate, množenje sa 0 uvijek daje nulu, tako da su u nizu pretraživanja samo stavke koje ispunjavaju sve kriterije predstavljene s 1. A pošto je naša vrijednost pretraživanja "1", Excel uzima prvu "1" u lookup_array (prvo podudaranje) i vraća vrijednost iz return_array na istoj poziciji.
Da vidimo formulu u akciji, povucimo iznos iz D2:D10 ( return_array ) sa sljedećim uvjetima:
- Kriterijumi1 (datum) = G1
- Kriterijumi2 (prodavač) = G2
- Kriterijumi3 (stavka) = G3
Sa datumima u A2:A10 ( raspon_kriterija1 ), imenima prodavača u B2:B10 ( opseg_kriterija2 ) i stavkama u C2:C10 ( kriterij_raspon3 ), formula poprima ovaj oblik:
=XLOOKUP(1, (B2:B10=G1) * (A2:A10=G2) * (C2:C10=G3), D2:D10)
Iako Excel funkcija XLOOKUP obrađuje nizove, ona radi kao redovna formula i završava se uobičajenim Enterpritisak na tipku.
Formula XLOOKUP s više kriterija nije ograničena na uvjete "jednako". Možete slobodno koristiti i druge logičke operatore. Na primjer, da filtrirate narudžbe napravljene na datum u G1 ili ranije, stavite "<=G1" u prvi kriterij:
=XLOOKUP(1, (A2:A10<=G1) * (B2:B10=G2) * (C2:C10=G3), D2:D10)
Dvostruko XLOOKUP
Da biste pronašli vrijednost na presjeku određenog reda i stupca, izvršite takozvano dvostruko traženje ili matrično traženje . Da, Excel XLOOKUP može i to! Jednostavno ugnijezdite jednu funkciju unutar druge:
XLOOKUP( potraži_vrijednost1 , potraži_niz1 , XLOOKUP( vrijednost_potraži2 , potraži_niz2 , data_values ))Kako ova formula radi : Formula je zasnovana na XLOOKUP-ovoj sposobnosti da vrati cijeli red ili stupac. Unutrašnja funkcija traži svoju vrijednost pretraživanja i vraća stupac ili red povezanih podataka. Taj niz ide u vanjsku funkciju kao return_array .
Za ovaj primjer, pronaći ćemo prodaju koje je ostvario određeni prodavač u određenom tromjesečju. Za ovo unosimo tražene vrijednosti u H1 (ime prodavca) i H2 (kvart) i radimo dvosmjernu Xlookup sa sljedećom formulom:
=XLOOKUP(H1, A2:A6, XLOOKUP(H2, B1:E1, B2:E6))
Ili obrnuto :
=XLOOKUP(H2, B1:E1, XLOOKUP(H1, A2:A6, B2:E6))
Gdje su A2:A6 imena prodavača, B1:E1 su četvrtine (zaglavlja kolona), a B2:E6 su vrijednosti podataka.
Dvosmjerno traženje se također može izvesti pomoću formule INDEX Match i u anekoliko drugih načina. Za više informacija pogledajte Dvosmjerno traženje u Excelu.
Ako greška XLOOKUP
Kada vrijednost pretraživanja nije pronađena, Excel XLOOKUP vraća grešku #N/A. Prilično poznato i razumljivo stručnim korisnicima, može biti prilično zbunjujuće za početnike. Da biste zamijenili standardnu notaciju greške porukom prilagođenom korisniku, upišite svoj tekst u 4. argument pod nazivom if_not_found .
Nazad na prvi primjer o kojem se raspravlja u ovom vodiču. Ako neko unese neispravan naziv okeana u E1, sljedeća formula će im eksplicitno reći da "Nema podudaranja nije pronađeno":
=XLOOKUP(E1, A2:A6, B2:B6, "No match is found")
Napomene:
- Argument if_not_found hvata samo greške #N/A, ne sve greške.
- #N/A greške se također mogu rukovati pomoću IFNA i VLOOKUP-a, ali sintaksa je malo složenija i formula je duža.
XLOOKUP osjetljiv na velika i mala slova
Prema zadanim postavkama, funkcija XLOOKUP tretira mala i velika slova kao iste znakove. Da biste ga učinili osjetljivim na velika i mala slova, koristite funkciju EXACT za argument lookup_array :
XLOOKUP(TRUE, EXACT( lookup_value , lookup_array ), return_array )Kako ova formula radi : funkcija EXACT uspoređuje vrijednost traženja sa svakom vrijednošću u nizu pretraživanja i vraća TRUE ako su potpuno iste uključujući i velika slova, FALSE u suprotnom. Ovaj niz logičkih vrijednosti ide u lookup_array argument XLOOKUP-a. Kao rezultat, XLOOKUP traži TRUE vrijednost u gornjem nizu i vraća podudaranje iz niza povrata.
Na primjer, da dobije cijenu od B2:B7 ( return_array ) za stavka u E1 ( lookup_value) , formula u E2 je:
=XLOOKUP(TRUE, EXACT(E1, A2:A7), B2:B7, "Not found")
Napomena. Ako postoje dvije ili više potpuno istih vrijednosti u nizu pretraživanja (uključujući velika i mala slova), vraća se prvo pronađeno podudaranje.
Excel XLOOKUP ne radi
Ako vaša formula ne radi ispravno ili rezultira greškom, najvjerovatnije je to zbog sljedećih razloga:
XLOOKUP nije dostupan u mom Excelu
Funkcija XLOOKUP nije kompatibilna unatrag. Dostupan je samo u Excelu za Microsoft 365 i Excel 2021 i neće se pojaviti u ranijim verzijama.
XLOOKUP vraća pogrešan rezultat
Ako vaša očito ispravna Xlookup formula vraća pogrešnu vrijednost, velike su šanse da je raspon traženja ili povrata "pomaknut" kada je formula kopirana nadolje ili preko. Kako biste spriječili da se to dogodi, uvijek zaključajte oba raspona apsolutnim referencama ćelije (kao što je $A$2:$A$10).
XLOOKUP vraća grešku #N/A
An #N /Greška samo znači da vrijednost pretraživanja nije pronađena. Da popravite ovo, pokušajte tražiti približno podudaranje ili obavijestite svoje korisnike da nije pronađeno podudaranje.
XLOOKUP vraća grešku #VALUE
A #VALUE! javlja se greška ako su nizovi pretraživanja i povrata nekompatibilnidimenzije. Na primjer, nije moguće tražiti u horizontalnom nizu i vratiti vrijednosti iz vertikalnog niza.
XLOOKUP vraća #REF grešku
A #REF! javlja se greška kada se traži između dvije različite radne knjige, od kojih je jedna zatvorena. Da biste ispravili grešku, jednostavno otvorite obje datoteke.
Kao što ste upravo vidjeli, XLOOKUP ima mnogo sjajnih karakteristika koje ga čine VRHUNOM za gotovo svako traženje u Excelu. Zahvaljujem vam na čitanju i nadam se da se vidimo na našem blogu sljedeće sedmice!
Vježbanje za preuzimanje
Primjeri Excel XLOOKUP formule (.xlsx datoteka)
okomito i horizontalno i izvršite tačno podudaranje (zadano), približno (najbliže) podudaranje ili džoker (djelimično) podudaranje.Sintaksa funkcije XLOOKUP je sljedeća:
XLOOKUP(vrijednost_potraži, niz_potraživanja, return_array, [if_not_found], [match_mode], [search_mode])Prva 3 argumenta su obavezna, a posljednja tri su opciona.
- Lookup_value - vrijednost za traži.
- Lookup_array - raspon ili niz gdje se traži.
- Return_array - raspon ili niz iz kojeg se vraćaju vrijednosti.
- If_not_found [opciono] - vrijednost koju treba vratiti ako nije pronađeno podudaranje. Ako se izostavi, vraća se greška #N/A.
- Način_podudaranja [opcionalno] - tip podudaranja koji treba izvršiti:
- 0 ili izostavljen (zadano) - tačno podudaranje . Ako nije pronađena, vraća se #N/A greška.
- -1 - tačno podudaranje ili sljedeće manje. Ako se ne pronađe tačno podudaranje, vraća se sljedeća manja vrijednost.
- 1 - točno podudaranje ili sljedeća veća. Ako se ne pronađe tačno podudaranje, vraća se sljedeća veća vrijednost.
- 2 - podudaranje zamjenskih znakova.
- Način_pretraživanja [opcionalno] - smjer pretraživanja:
- 1 ili izostavljen (zadano) - za pretraživanje od prvog do posljednjeg.
- -1 - za pretraživanje obrnutim redoslijedom, od posljednjeg do prvog.
- 2 - binarno pretraživanje podataka sortiranih uzlazno.
- -2 - binarno pretraživanje podataka sortiranih silazno.
Prema Microsoftu, binarnisearch je uključeno za napredne korisnike. To je poseban algoritam koji pronalazi poziciju tražene vrijednosti unutar sortiranog niza upoređujući je sa srednjim elementom niza. Binarno pretraživanje je mnogo brže od uobičajenog pretraživanja, ali radi ispravno samo na sortiranim podacima.
Osnovna formula XLOOKUP
Da bismo stekli bolje razumijevanje, napravimo Xlookup formulu u njenom najjednostavnijem obliku za izvođenje tačnog pretraživanja. Za ovo će nam trebati samo prva 3 argumenta.
Pretpostavimo da imate zbirnu tabelu sa informacijama o pet okeana na Zemlji. Želite da dobijete površinu određenog unosa okeana u F1 ( lookup_value ). Sa nazivima okeana u A2:A6 ( lookup_array ) i oblastima u C2:C6 ( return_array ), formula ide kako slijedi:
=XLOOKUP(F1, A2:A6, C2:C6)
Prevedeno na običan engleski, kaže: potražite vrijednost F1 u A2:A6 i vratite vrijednost iz C2:C6 u istom redu. Bez brojeva indeksa kolona, bez sortiranja, bez drugih smiješnih hira Vlookupa! Jednostavno radi :)
XLOOKUP naspram VLOOKUP-a u Excel-u
U poređenju sa tradicionalnim VLOOKUP-om, XLOOKUP ima mnogo prednosti. Po čemu je bolji od VLOOKUP-a? Evo liste od 10 najboljih funkcija koje odbijaju bilo koju drugu funkciju pretraživanja u Excelu:
- Okomito i horizontalno traženje . Funkcija XLOOKUP dobila je ime zbog svoje sposobnosti da traži i vertikalno ivodoravno.
- Pogledajte u bilo kojem smjeru: desno, lijevo, dolje ili gore . Dok VLOOKUP može pretraživati samo u krajnjoj lijevoj koloni, a HLOOKUP u gornjem redu, XLOOKUP nema takva ograničenja. Zloglasno traženje lijevo u Excelu više nije muka!
- Točno podudaranje po defaultu . U većini situacija, tražit ćete točno podudaranje, a XLOOKUP ga vraća prema zadanim postavkama (za razliku od funkcije VLOOKUP koja je zadana vrijednost približno podudaranja). Naravno, možete natjerati XLOOKUP da izvrši i približno podudaranje ako je potrebno.
- Djelomično podudaranje sa zamjenskim znakovima . Kada znate samo neki dio vrijednosti traženja, a ne cijelu, podudarnost zamjenskih znakova je zgodna.
- Traži obrnutim redoslijedom . Ranije, da biste dobili posljednje pojavljivanje, morali ste obrnuti redoslijed vaših izvornih podataka. Sada jednostavno postavite argument search_mode na -1 da natjerate vašu Xlookup formulu da traži od pozadi i vrati posljednje podudaranje.
- Vrati više vrijednosti . Manipulirajući s argumentom return_array , možete izvući cijeli red ili stupac podataka koji se odnose na vašu vrijednost pretraživanja.
- Tražite s više kriterija . Excel XLOOKUP obrađuje nizove izvorno, što omogućava izvođenje pretraživanja s više kriterija.
- Ako greška funkcionalnost . Tradicionalno, koristimo IFNA funkciju da uhvatimo #N/A greške. XLOOKUP uključuje ovu funkcionalnost uArgument if_not_found koji omogućava ispis vašeg vlastitog teksta ako nije pronađeno valjano podudaranje.
- Umetanja/brisanja stupaca . Jedan od najiritantnijih problema s VLOOKUP-om je to što dodavanje ili uklanjanje stupaca razbija formulu jer je povratna kolona identificirana prema broju indeksa. Sa XLOOKUP-om dajete povratni opseg, a ne broj, što znači da možete umetnuti i ukloniti onoliko kolona koliko vam je potrebno bez prekidanja bilo čega.
- Bolje performanse . VLOOKUP bi mogao usporiti vaše radne listove jer uključuje cijelu tabelu u proračune, što rezultira obradom mnogo više ćelija nego što je stvarno potrebno. XLOOKUP obrađuje samo nizove pretraživanja i povrata o kojima zaista ovisi.
Kako koristiti XLOOKUP u Excelu - primjeri formule
Sljedeći primjeri pokazuju najkorisnije funkcije XLOOKUP-a na djelu. Osim toga, otkrit ćete nekoliko netrivijalnih upotreba koje će vaše vještine pretraživanja u Excelu podići na novi nivo.
Pogledajte okomito i horizontalno
Microsoft Excel je nekada imao dvije funkcije za različito traženje tipovi, od kojih svaki ima svoju sintaksu i pravila upotrebe: VLOOKUP za gledanje okomito u stupcu i HLOOKUP za gledanje horizontalno u redu.
Funkcija XLOOKUP može raditi oboje s istom sintaksom. Razlika je u tome što dajete za nizove pretraživanja i povrata.
Za v-lookup, navedite stupce:
=XLOOKUP(E1, A2:A6, B2:B6)
Zah-lookup, unesite retke umjesto stupaca:
=XLOOKUP(I1, B1:F1, B2:F2)
Ljevo traženje izvedeno izvorno
U ranijim verzijama Excela, INDEX MATCH formula je bila jedini pouzdan način da se pogleda lijevo ili gore. Sada više ne morate kombinirati dvije funkcije gdje bi jedna bila dovoljna. Samo navedite ciljni niz pretraživanja i XLOOKUP će ga obraditi bez problema bez obzira na njegovu lokaciju.
Kao primjer, dodajmo kolonu Rank lijevo od naše tablice uzorka. Cilj je dobiti rang okeanskog unosa u F1. VLOOKUP bi ovdje posrnuo jer može vratiti vrijednost samo iz kolone desno od kolone za traženje. Xlookup formula se nosi s lakoćom:
=XLOOKUP(F1, B2:B6, A2:A6)
Na sličan način, možete pogledati iznad kada pretražujete vodoravno u redovima.
XLOOKUP s tačnim i približnim podudaranjem
Ponašanje podudaranja kontrolira 5. argument koji se zove match_mode . Prema zadanim postavkama, vrši se tačno podudaranje.
Obratite pažnju da čak i kada odaberete približno podudaranje ( match_mode postavljeno na 1 ili -1), funkcija će i dalje tražiti točno utakmica prva. Razlika je u tome što vraća ako se ne pronađe tačna vrijednost traženja.
Argument Match_mode:
- 0 ili izostavljen - točno podudaranje; ako nije pronađeno - #N/A greška.
- -1 - tačno podudaranje; ako nije pronađen - sljedeća manja stavka.
- 1 - točno podudaranje; ako nije pronađen- sljedeća veća stavka.
Tačno podudaranje XLOOKUP
Ovo je opcija koju vjerovatno koristite 99% vremena kada tražite u Excelu. Pošto je tačno podudaranje podrazumevano ponašanje XLOOKUP-a, možete izostaviti match_mode i dostaviti samo prva 3 potrebna argumenta.
U nekim situacijama, međutim, tačno podudaranje neće raditi. Tipičan scenarij je kada vaša tabela za pretraživanje ne sadrži sve vrijednosti, već "prekretnice" ili "granice" kao što su popusti zasnovani na količini, provizije zasnovane na prodaji, itd.
Naša tabela za traženje uzorka pokazuje korelaciju između ispitnih bodova i ocjena. Kao što možete vidjeti na slici ispod, tačno podudaranje funkcionira samo kada se rezultat određenog učenika tačno poklapa s vrijednošću u tabeli za traženje (kao Christian u redu 3). U svim ostalim slučajevima vraća se greška #N/A.
=XLOOKUP(F2, $B$2:$B$6, $C$2:$C$6)
Da bismo dobili ocjene umjesto #N/A grešaka, trebamo da potražite približno podudaranje kao što je prikazano u sljedećem primjeru.
Približno podudaranje XLOOKUP
Da izvršite približno pretraživanje, postavite argument match_mode na -1 ili 1 , ovisno o tome kako su vaši podaci organizirani.
U našem slučaju, tabela pretraživanja navodi donje granice ocjena. Dakle, postavljamo match_mode na -1 da tražimo sljedeću manju vrijednost kada nije pronađeno tačno podudaranje:
=XLOOKUP(F11, $B$11:$B$15, $C$11:$C$15, ,-1)
Na primjer, Brian ima rezultat od 98 (F2). Formula traži ovu vrijednost pretraživanja u B2:B6ali ga ne mogu pronaći. Zatim traži sljedeću manju stavku i pronalazi 90, što odgovara ocjeni A:
Ako bi naša tabela za pretraživanje sadržavala gornje granice ocjena, postavili bismo match_mode do 1 za traženje sljedeće veće stavke ako točno podudaranje ne uspije:
=XLOOKUP(F2, $B$2:$B$6, $C$2:$C$6, ,1)
Formula traži 98 i opet je ne može pronaći. Ovaj put pokušava pronaći sljedeću veću vrijednost i dobija 100, što odgovara ocjeni A:
Savjet. Kada kopirate formulu Xlookup u više ćelija, zaključajte opsege pretraživanja ili povrata apsolutnim referencama ćelija (kao što je $B$2:$B$6) kako biste spriječili njihovu promjenu.
XLOOKUP s djelomičnim podudaranjem (wildcards)
Da izvršite djelomično traženje podudaranja, postavite argument match_mode na 2, koji daje instrukcije funkciji XLOOKUP da obradi zamjenske znakove:
- Zvjezdica (*) - predstavlja bilo koji niz znakova.
- Upitnik (?) - predstavlja bilo koji pojedinačni znak.
Da vidite kako funkcionira , razmotrite sljedeći primjer. U koloni A imate nekoliko modela pametnih telefona i, u koloni B, njihov kapacitet baterije. Zanima vas baterija određenog pametnog telefona. Problem je u tome što niste sigurni da možete upisati naziv modela tačno onako kako se pojavljuje u koloni A. Da biste ovo prevazišli, unesite dio koji je definitivno tu i zamijenite preostale znakove zamjenskim znakovima.
Na primjer, dobitiinformacije o bateriji iPhonea X, koristite ovu formulu:
=XLOOKUP("*iphone X*", A2:A8, B2:B8, ,2)
Ili unesite poznati dio vrijednosti pretraživanja u neku ćeliju i spojite referencu ćelije sa zamjenskim znakovima:
=XLOOKUP("*"&E1&"*", A2:A8, B2:B8, ,2)
XLOOKUP obrnutim redoslijedom da dobijete posljednje pojavljivanje
U slučaju da vaša tablica sadrži nekoliko pojavljivanja vrijednosti pretraživanja, ponekad će vam trebati da vratite zadnje podudaranje . Da biste to učinili, konfigurirajte svoju Xlookup formulu da traži obrnutim redoslijedom.
Smjer pretraživanja je kontroliran 6. argumentom pod nazivom mode_pretraži :
- 1 ili izostavljeno (zadano) - traži od prve do posljednje vrijednosti, tj. od vrha do dna sa vertikalnim traženjem ili slijeva nadesno s horizontalnim traženjem.
- -1 - traži obrnutim redoslijedom od posljednje do prve vrijednosti .
Kao primjer, vratimo zadnju prodaju koju je izvršio određeni prodavač. Za ovo smo sastavili prva tri potrebna argumenta (G1 za lookup_value , B2:B9 za lookup_array i D2:D9 za return_array ) i stavili - 1 u 5. argumentu:
=XLOOKUP(G1, B2:B9, D2:D9, , ,-1)
Jednostavno i lako, zar ne?
XLOOKUP za vraćanje više stupaca ili redaka
Još jedna nevjerovatna karakteristika XLOOKUP-a je njegova sposobnost da vrati više od jedne vrijednosti koja se odnosi na isto podudaranje. Sve se radi sa standardnom sintaksom i bez ikakvih dodatnih manipulacija!
Iz donje tabele, pod pretpostavkom da želite