Sadržaj
Vodič objašnjava vektorske i nizove oblike funkcije Excel LOOKUP i demonstrira tipične i netrivijalne upotrebe LOOKUP u Excelu s primjerima formula.
Jedno od najčešćih pitanja koji svaki korisnik Excela pita s vremena na vrijeme je ovo: " Kako da potražim vrijednost na jednom listu i povučem odgovarajuću vrijednost na drugi list? ". Naravno, može postojati mnogo varijacija osnovnog scenarija: možda tražite najbliže podudaranje umjesto tačnog podudaranja, možda ćete htjeti pretraživati okomito u koloni ili horizontalno u redu, procijeniti jedan ili više kriterija, itd. Međutim , suština je ista - morate znati kako tražiti u Excelu.
Microsoft Excel nudi pregršt različitih načina pretraživanja. Za početak, naučimo funkciju koja je dizajnirana za rukovanje najjednostavnijim slučajevima okomitog i horizontalnog traženja. Kao što možete lako pretpostaviti, govorim o funkciji LOOKUP.
Excel funkcija LOOKUP - sintaksa i upotreba
Na najosnovnijoj razini, funkcija LOOKUP u Excelu pretražuje vrijednost u jednom stupcu ili redu i vraća odgovarajuću vrijednost sa iste pozicije u drugom stupcu ili redu.
Postoje dva oblika LOOKUP-a u Excelu: Vektor i Niz . Svaki oblik je objašnjen pojedinačno u nastavku.
Excel funkcija LOOKUP - vektorski oblik
U ovom kontekstu, vektor se odnosi na raspon od jednog stupca ili jednog reda.formula radi posao:
=LOOKUP(VLOOKUP(E2, $A$2:$C$7, 3, FALSE), {"c";"d";"t"}, {"Completed";"Development";"Testing"})
Kao što je prikazano na slici ispod, formula preuzima status projekta iz tabele za pretraživanje i zamjenjuje skraćenicu odgovarajućom riječju:
Savjet. Ako koristite Excel 2016 kao dio pretplate na Office 365, možete koristiti funkciju SWITCH u slične svrhe.
Nadam se da su ovi primjeri bacili malo svjetla na to kako funkcionira funkcija LOOKUP. Da biste bolje razumjeli formule, možete preuzeti ove primjere Excel Lookup-a. U sljedećem vodiču raspravljat ćemo o nekoliko drugih načina pretraživanja u Excelu i objasniti koju formulu za pretraživanje je najbolje koristiti u kojoj situaciji. Zahvaljujem vam na čitanju i nadam se da se vidimo na našem blogu sljedeće sedmice!
Shodno tome, koristite vektorski oblik LOOKUP-a da pretražite jedan red ili jedan stupac podataka za određenu vrijednost i povučete vrijednost sa iste pozicije u drugom redu ili stupcu.Sintaksa pretraživanja vektora je kako slijedi:
LOOKUP(vrijednost_potraži, vektor_potraži, [vektor_rezultata])Gdje:
- Lookup_value (obavezno) - vrijednost za traženje. To može biti broj, tekst, logička vrijednost TRUE ili FALSE ili referenca na ćeliju koja sadrži traženu vrijednost.
- Lookup_vector (obavezno) - jedan red ili jedan stupac opseg koji treba pretraživati. Mora se sortirati u uzlaznom redu .
- Vektor_rezultata (opcionalno) - raspon od jednog reda ili jedne kolone iz kojeg želite vratiti rezultat - vrijednost na istoj poziciji kao i tražena vrijednost. Vektor_rezultata mora biti iste veličine kao opseg_potraživanja . Ako se izostavi, rezultat se vraća iz lookup_vector .
Sljedeći primjeri pokazuju dvije jednostavne formule za traženje u akciji.
Formula za vertikalno traženje - pretraživanje u jednom- raspon stupca
Recimo, imate listu prodavača u koloni D (D2:D5) i proizvoda koje su prodali u koloni E (E2:E5). Pravite kontrolnu tablu u koju će vaši korisnici unositi ime prodavca u B2 i potrebna vam je formula koja bi povukla odgovarajući proizvod u B3. Zadatak se lako može postići ovom formulom:
=LOOKUP(B2,D2:D5,E2:E5)
Da biste bolje razumjeliargumente, pogledajte ovaj snimak ekrana:
Formula za horizontalno traženje - pretražite u rasponu od jednog reda
Ako vaši izvorni podaci imaju horizontalni raspored, tj. unosi se nalaze u redovima, a ne u kolonama, a zatim navedite raspon od jednog reda u argumentima lookup_vector i result_vector , kao što je ovaj:
=LOOKUP(B2,E1:H1,E2:H2)
U drugom dijelu ovog vodiča pronaći ćete još nekoliko primjera Excel Lookup-a koji rješavaju složenije zadatke. U međuvremenu, zapamtite sljedeće jednostavne činjenice koje će vam pomoći da zaobiđete moguće zamke i spriječite uobičajene greške.
5 stvari koje biste trebali znati o vektorskom obliku Excel LOOKUP
- Vrijednosti u lookup_vector treba sortirati u uzlaznom redoslijedu , tj. od najmanjeg do najvećeg ili od A do Z, inače bi vaša formula za pretraživanje u Excelu mogla vratiti grešku ili netačan rezultat. Ako trebate izvršiti traženje nesortiranih podataka , tada koristite ili INDEX MATCH ili OFFSET MATCH.
- Lookup_vector i result_vector moraju biti
jednog reda ili jednog stupca iste veličine. - Funkcija LOOKUP u Excelu je neosjetljiva na velika i mala slova , ne razlikuje se tekst velikim i malim slovima.
- Excel LOOKUP radi na osnovu približnog podudaranja . Preciznije, formula Lookup prvo traži tačno podudaranje. Ako ne može tačno pronaći traženu vrijednost, traži sljedeću najmanjuvalue , tj. najveća vrijednost u lookup_vector koja je manja ili jednaka lookup_value .
Na primjer, ako je vaša vrijednost pretraživanja "5", formula će je prvo pretražiti. Ako "5" nije pronađeno, tražit će "4". Ako "4" nije pronađeno, tražit će "3" i tako dalje.
- Ako je lookup_value manji od najmanje vrijednosti u lookup_vector , Excel LOOKUP vraća grešku #N/A.
Excel funkcija LOOKUP - oblik niza
Forma niza funkcije LOOKUP pretražuje navedenu vrijednost u prvi stupac ili red niza i dohvaća vrijednost sa iste pozicije u zadnjem stupcu ili redu niza.
Traženje niza ima 2 argumenta, od kojih su oba potrebna:
LOOKUP( lookup_value, array)Gdje:
- Lookup_value - vrijednost za traženje u nizu.
- Niz - a raspon ćelija u kojima želite tražiti traženu vrijednost. Vrijednosti u prvoj koloni ili redu niza (ovisno o tome da li radite V-traženje ili H-pretraživanje) moraju se sortirati uzlaznim redoslijedom. Velika i mala slova se smatraju ekvivalentnim.
Na primjer, s imenima prodavača koja se nalaze u prvoj koloni niza (kolona A) i datumima narudžbe u zadnjoj koloni niza (kolona C) , možete koristiti sljedeću formulu da pretražite ime i izvučete odgovarajući datum:
=LOOKUP(B2,D2:F5)
Napomena. Forma nizaExcel funkciju LOOKUP ne treba miješati s Excelovim formulama niza. Iako radi na nizovima, LOOKUP je i dalje regularna formula, koja se završava na uobičajen način pritiskom na tipku Enter.
4 stvari koje biste trebali znati o obliku niza Excel LOOKUP
- Ako niz ima više redova nego kolona ili isti broj stupaca i redova , formula za pretraživanje pretražuje u prvom stupcu (horizontalno traženje).
- Ako niz ima više stupaca nego redova , Excel LOOKUP pretražuje u prvom redu (vertikalno traženje ).
- Ako formula ne može pronaći traženu vrijednost, koristi najveću vrijednost u nizu koja je manja ili jednaka lookup_value .
- Ako je vrijednost traženja manja od najmanje vrijednosti u prvom stupcu ili redu niza (ovisno o dimenzijama niza), formula Lookup vraća grešku #N/A.
Važna napomena! Funkcionalnost Excel forme LOOKUP polja je ograničena i ne preporučujemo je korištenje. Umjesto toga, možete koristiti funkciju VLOOKUP ili HLOOKUP, koje su poboljšane verzije za vertikalno i horizontalno traženje, respektivno.
Kako koristiti funkciju LOOKUP u Excelu - primjeri formule
Iako postoje moćnije funkcije za traženje i uparivanje u Excelu (što je predmet našeg sljedećeg tutorijala), LOOKUP je zgodan u mnogim situacijama, a sljedeći primjeridemonstrirati nekoliko netrivijalnih upotreba. Imajte na umu da sve donje formule koriste vektorski oblik Excel LOOKUP.
Potražite vrijednost u posljednjoj nepraznoj ćeliji u koloni
Ako imate kolonu dinamički popunjenih podataka, možda ćete htjeti odabrati posljednji dodani unos, tj. dobiti posljednju nepraznu ćeliju u koloni. Za ovo koristite ovu generičku formulu:
LOOKUP(2, 1/( kolona ""), kolona )U gornjoj formuli, svi argumenti osim reference kolone su konstante. Dakle, da biste dohvatili posljednju vrijednost u određenoj koloni, trebate samo navesti odgovarajuću referencu kolone. Na primjer, da biste izdvojili vrijednost posljednje ćelije koja nije prazna u stupcu A, koristite ovu formulu:
=LOOKUP(2, 1/(A:A""), A:A)
Da biste dobili posljednju vrijednost iz drugih stupaca, izmijenite reference stupaca kao što je prikazano na snimku ekrana ispod - prva referenca je kolona koja treba provjeriti ima li praznih/nepraznih ćelija, a druga referenca je kolona iz koje se vraća vrijednost:
Kako ova formula radi
U argumentu lookup_value dajete 2 ili bilo koji drugi broj veći od 1 (za trenutak ćete shvatiti zašto).
U lookup_vector argument, stavljate ovaj izraz: 1/(A:A"")
- Prvo, izvodite logičku operaciju A:A"" koja uspoređuje svaku ćeliju u stupcu A sa praznim nizom i vraća TRUE za prazne ćelije i FALSE za neprazne ćelije. UU gornjem primjeru, formula u F2 vraća ovaj niz: {TRUE;TRUE;TRUE;TRUE;FALSE...}
- Zatim podijelite broj 1 sa svakim elementom gornjeg niza. Sa TRUE jednakim 1 i FALSE jednakim 0, dobijate novi niz koji se sastoji od 1 i #DIV/0! greške (rezultat dijeljenja sa 0), a ovaj niz se koristi kao lookup_vector . U ovom primjeru, to je {1;1;1;1;#DIV/0!...}
Sada, kako to da formula vraća posljednju nepraznu vrijednost u koloni , s obzirom da lookup_value ne odgovara nijednom elementu lookup_vector ? Ključ za razumijevanje logike je da Excel LOOKUP pretražuje s približnim podudaranjem, tj. kada tačna vrijednost pretraživanja nije pronađena, ona odgovara sljedećoj najvećoj vrijednosti u lookup_vector koja je manja od lookup_value . U našem slučaju, lookup_value je 2, a najveća vrijednost u lookup_vector je 1, tako da LOOKUP odgovara posljednjoj 1 u nizu, što je posljednja neprazna ćelija!
U argumentu result_vector referencirate kolonu iz koje želite vratiti vrijednost, a vaša formula za pretraživanje će dohvatiti vrijednost na istoj poziciji kao i vrijednost pretraživanja.
Savjet. Ako želite da dobijete broj reda koji sadrži posljednju vrijednost, tada koristite funkciju ROW da biste je dohvatili. Na primjer: =LOOKUP(2,1/(A:A""),ROW(A:A))
Potražite vrijednost u posljednjoj nepraznoj ćeliji u redu
Ako su vaši izvorni podaci raspoređeni u redove radijeosim stupaca, možete dobiti vrijednost posljednje neprazne ćelije koristeći ovu formulu:
POTRAŽIVANJE(2, 1/( red ""), red )U stvari, ova formula nije ništa drugo nego mala modifikacija prethodne formule, sa jedinom razlikom što koristite referencu reda umjesto reference stupca.
Na primjer, da biste dobili vrijednost posljednje neprazna ćelija u redu 1, koristite ovu formulu:
=LOOKUP(2, 1/(1:1""), 1:1)
Sljedeći snimak ekrana prikazuje rezultat:
Dobijte vrijednost povezana sa zadnjim unosom u nizu
Sa malo kreativnosti, gornja formula se lako može prilagoditi za rješavanje drugih sličnih zadataka. Na primjer, može se koristiti za dobivanje vrijednosti povezane s posljednjom instancom određene vrijednosti u redu. Ovo može zvučati pomalo nejasno, ali sljedeći primjer će olakšati razumijevanje stvari.
Pod pretpostavkom da imate sažetu tabelu u kojoj kolona A sadrži imena prodavača, a sljedeće kolone sadrže podatke neke vrste za svaki mjesec. U ovom primjeru, ćelija sadrži "da" ako je određeni prodavac zaključio barem jedan posao u datom mjesecu. Naš cilj je da dobijemo mjesec povezan sa zadnjim unosom "da" u nizu.
Zadatak se može riješiti korištenjem sljedeće formule LOOKUP:
=LOOKUP(2, 1/(B2:H2="yes"), $B$1:$H$1)
Logika formule je u osnovi ista kao što je opisano u prvom primjeru. Razlika je u tome što koristite operator "jednako" ("=") umjesto "nije jednako".na" ("") i rade na redovima umjesto kolonama.
Sljedeći snimak ekrana pokazuje rezultat:
Potraži kao alternativu ugniježđenim IF-ovima
U svim formulama za traženje o kojima smo do sada raspravljali, argumenti lookup_vector i result_vector bili su predstavljeni referencama raspona. Međutim, sintaksa funkcije Excel LOOKUP dozvoljava pružanje vektora u obliku konstante vertikalnog niza, što vam omogućava da replicirate funkcionalnost ugniježđenog IF-a s kompaktnijom i lakšom za čitanje formulom.
Recimo, imate listu skraćenica u stupac A i želite ih zamijeniti punim nazivima, gdje "C" znači "Završeno", "D" je "Razvoj, a "T" je "Testiranje". Zadatak se može izvršiti sa sljedećom ugniježđenom IF funkcijom:
=IF(A2="c", "Completed", IF(A2="d", "Development", IF(A2="t", "Testing", "")))
Ili korištenjem ove formule za traženje:
=LOOKUP(A2, {"c";"d";"t"}, {"Completed";"Development";"Testing"})
Kao što je prikazano u snimak ekrana ispod, obje formule daju identične rezultate:
Napomena. Da bi Excel formula za traženje radila ispravno, vrijednosti u lookup_array trebaju biti sortirane od A do Z ili od najmanjeg do najvećeg.
Ako izvlačite vrijednosti iz tabele za pretraživanje, tada možete umetnuti funkciju Vlookup u argument lookup_value da biste dohvatili podudaranje.
Pod pretpostavkom da je vrijednost pretraživanja u ćeliji E2, tabela za pretraživanje je A2:C7, a stupac od interesa ("Status") je 3. stupac u tabeli za pretraživanje, sljedeći