Sadržaj
Vodič objašnjava kako napraviti Excel VLOOKUP osjetljiv na velika i mala slova, demonstrira nekoliko drugih formula koje razlikuju velika i mala slova teksta i ističe prednosti i ograničenja svake funkcije.
Pretpostavljam da svaka Korisnik Excela zna koja funkcija obavlja vertikalno traženje u Excelu. U redu, to je VLOOKUP. Međutim, vrlo malo ljudi zna da je Excelov VLOOKUP neosjetljiv na velika i mala slova, što znači da tretira mala i VELIKA slova kao iste znakove.
Evo kratkog primjera koji pokazuje nesposobnost VLOOKUP-a da razlikuje velika i mala slova. Pretpostavimo da imate "račun" u ćeliji A2 i "račun" u ćeliji A4. Formula ispod će uhvatiti "račun" jer dolazi prvi u nizu pretraživanja i vraća odgovarajuću vrijednost iz B2.
=VLOOKUP("Bill", A2:B4, 2, FALSE)
Dalje u ovom U članku ću vam pokazati način da VLOOKUP učinite osjetljivim na velika i mala slova. Također ćemo istražiti nekoliko drugih funkcija koje mogu izvršiti podudaranje osjetljivo na velika i mala slova u Excelu.
Formula VLOOKUP osjetljiva na velika i mala slova
Kao što je gore spomenuto, uobičajena VLOOKUP formula ne prepoznaje velika i mala slova. Međutim, postoji način da se Excel VLOOKUP učini osjetljivim na velika i mala slova, kao što je prikazano u primjeru ispod.
Pretpostavimo da imate ID-ove stavke u koloni A i želite povući cijenu stavke i komentar iz kolona B i C. Problem je što ID-ovi uključuju i mala i velika slova. Na primjer, vrijednosti u A4 (001Tvci3u) i A5 (001Tvci3U) razlikuju se samo uposljednji znak, "u" i "U", redom.
Kada se traži "001Tvci3 U ", standardna VLOOKUP formula daje $90 koji je povezan sa "001Tvci3 u " jer dolazi ispred "001Tvci3 U " u nizu pretraživanja. Ali ovo nije ono što želite, zar ne?
=VLOOKUP(F2, A2:C7, 2, FALSE)
Da bismo izvršili pretraživanje osjetljivo na velika i mala slova u Excelu, kombiniramo VLOOKUP, CHOOSE i EXACT funkcije:
VLOOKUP(TRUE, CHOOSE({1,2}, EXACT( vrijednost_potraži, niz_potraži), povratni_niz), 2, 0)Ova generička formula savršeno radi u svim situacijama. Možete čak tražiti gore zdesna nalijevo , nešto što obična VLOOKUP formula nije u stanju da uradi. Svaka čast Pouriyi što je predložio ovo jednostavno i elegantno rješenje!
U našem slučaju, prave formule su sljedeće.
Da povučete cijenu u F3:
=VLOOKUP(TRUE, CHOOSE({1,2}, EXACT(F2, A2:A7), B2:B7), 2, FALSE)
Za preuzimanje komentara F4:
=VLOOKUP(TRUE, CHOOSE({1,2}, EXACT(F2, A2:A7), C2:C7), 2, FALSE)
Napomena. U svim verzijama Excela osim Excel 365, ovo funkcionira samo kao formula niza, stoga ne zaboravite pritisnuti Ctrl + Shift + Enter da biste je ispravno dovršili. U programu Excel 365, zbog podrške za dinamičke nizove, radi i kao obična formula.
Kako ova formula funkcionira:
Osnovni dio koji radi trik je ODABIR formule sa ugniježđenim EXACT:
CHOOSE({1,2}, EXACT(F2, A2:A7), C2:C7)
Ovdje, funkcija EXACT uspoređuje vrijednost u F2 sa svakom vrijednošću u A2:A7 i vraća TRUE ako su potpuno iste uključujući i velika slova,FALSE inače:
{FALSE;FALSE;FALSE;TRUE;FALSE;FALSE}
Za argument indeks_num argumenta CHOOSE koristimo konstantu niza {1,2}. Kao rezultat, funkcija kombinuje logičke vrijednosti iz gornjeg niza i vrijednosti iz C2:C7 u dvodimenzionalni niz ovako:
{FALSE,155;FALSE,186;FALSE,90;TRUE,54;FALSE,159;FALSE,28}
Funkcija VLOOKUP ga preuzima odatle i traži traženu vrijednost (koja je TRUE) u 1. stupcu 2-dimenzionalnog niza (predstavljenog logičkim vrijednostima) i vraća podudaranje iz 2. kolone, što je cijena koju tražimo:
VLOOKUP(TRUE, {FALSE,155;FALSE,186;FALSE,90;TRUE,54;FALSE,159;FALSE,28}, 2, 0)
XLOOKUP formula osjetljiva na velika i mala slova
Microsoft 365 pretplatnici mogu izvršiti traženje osjetljivo na velika i mala slova u Excelu uz još jednostavniju formulu. Kao što možete pretpostaviti, govorim o moćnijem nasljedniku VLOOKUP-a - funkciji XLOOKUP.
Budući da XLOOKUP odvojeno radi na nizovima pretraživanja i povrata, ne treba nam trik dvodimenzionalnog niza iz prethodnog primjer. Jednostavno, koristite EXACT za argument lookup_array :
Posljednji argument ("Nije pronađeno") nije obavezan. On samo definira koju vrijednost treba vratiti ako nije pronađeno podudaranje. Ako ga izostavite, bit će vraćena standardna greška #N/A u slučaju da formula ne pronađe ništa.
Za našu tablicu uzorka, ovo su XLOOKUP formule osjetljive na velika i mala slova.
Da biste dobili cijenu u F3:
=XLOOKUP(TRUE, EXACT(F2, A2:A7), B2:B7, "Not found")
Da biste izdvojilikomentar F4:
=XLOOKUP(TRUE, EXACT(F2, A2:A7), C2:C7, "Not found")
Kako ova formula funkcionira:
Kao u prethodnom primjeru, EXACT vraća niz TRUE i FALSE vrijednosti, gdje TRUE predstavlja podudaranja osjetljiva na velika i mala slova. XLOOKUP pretražuje gornji niz za TRUE vrijednost i vraća podudaranje iz return_array . Imajte na umu da ako postoje dvije ili više potpuno istih vrijednosti u koloni za traženje (uključujući velika i mala slova), formula će vratiti prvo pronađeno podudaranje.
Ograničenje XLOOKUP : dostupno samo u Excelu 365 i Excelu 2021.
SUMPRODUCT - pretraživanje osjetljivo na velika i mala slova za vraćanje odgovarajućih brojeva
Kao što ste shvatili iz naslova, SUMPRODUCT je još jedna Excel funkcija koja može izvršiti traženje osjetljivo na velika i mala slova , ali može vratiti samo numeričke vrijednosti . Ako to nije vaš slučaj, onda skočite na primjer INDEX MATCH koji pruža rješenje za sve tipove podataka.
Kao što vjerojatno znate, Excelov SUMPRODUCT množi komponente u navedenim nizovima i vraća zbroj proizvoda. Budući da želimo pretraživanje osjetljivo na velika i mala slova, koristimo funkciju EXACT da dobijemo prvi niz:
=SUMPRODUCT((EXACT(A2:A7,F2) * (B2:B7)))
Nažalost, funkcija SUMPRODUCT ne može vratiti tekstualna podudaranja jer se tekstualne vrijednosti ne mogu množiti. U ovom slučaju, dobit ćete #VRIJEDNOST! greška kao u ćeliji F4 na snimku ekrana ispod:
Kako ova formula funkcionira:
Kao u VLOOKUP primjeru, EXACT provjere funkcijavrijednost u F2 u odnosu na sve vrijednosti u A2:A7 i vraća TRUE za podudaranja osjetljiva na velika i mala slova, FALSE u suprotnom:
SUMPRODUCT(({FALSE;FALSE;FALSE;TRUE;FALSE;FALSE}*{155;186;90;54;159;28}))
U većini formula, Excel procjenjuje TRUE na 1 i FALSE na 0 Dakle, kada SUMPRODUCT pomnoži elemente dva niza na istim pozicijama, sva nepodudaranja (FALSE) postaju nule:
SUMPRODUCT({0;0;0;54;0;0})
Kao rezultat, formula vraća broj iz stupac B koji odgovara točnom podudaranju s velikim i malim slovima u stupcu A.
ograničenje SUMPRODUCT : može vratiti samo numeričke vrijednosti.
INDEX MATCH - traženje osjetljivo na velika i mala slova za svi tipovi podataka
Konačno, blizu smo dobijanju formule za pretraživanje bez ograničenja koja je osjetljiva na velika i mala slova koja radi u svim verzijama Excela i na svim skupovima podataka.
Ovaj primjer dolazi zadnji ne samo zato što najbolje je sačuvano za posljednje, ali i zato što vam znanje koje ste stekli u prethodnim primjerima može pomoći da bolje razumijete formulu MATCH INDEX osjetljivu na velika i mala slova.
Kombinacija funkcija INDEX i MATCH se često koristi u Ex cel kao fleksibilnija i svestranija alternativa VLOOKUP-u. Sljedeći članak radi dobar posao (nadamo se :) objašnjavajući kako ove dvije funkcije funkcionišu zajedno - Korištenje INDEX MATCH umjesto VLOOKUP-a.
Ovdje ću vas samo podsjetiti na ključne tačke:
- Funkcija MATCH traži traženu vrijednost u navedenom nizu pretraživanja i vraća njenu relativnu poziciju.
- Relativnipozicija tražene vrijednosti ide direktno u argument row_num funkcije INDEX dajući joj upute da vrati vrijednost iz tog reda.
Da bi formula prepoznala velika i mala slova teksta, samo potrebno je dodati još jednu funkciju klasičnoj kombinaciji INDEX MATCH. Očigledno vam je ponovo potrebna funkcija EXACT:
INDEX( povratni_niz , MATCH(TRUE, EXACT( vrijednost_potraži , povratni_niz ), 0))Prava formula u F3 je:
=INDEX(B2:B7, MATCH(TRUE, EXACT(A2:A7, F2), 0))
U F4 koristimo ovu:
=INDEX(C2:C7, MATCH(TRUE, EXACT(A2:A7, F2), 0))
Molimo zapamtite da radi samo kao formulu niza u svim verzijama osim Excel 365, pa je obavezno unesite tako što ćete zajedno pritisnuti tipke Ctrl + Shift + Enter. Ako se uradi ispravno, formula će biti zatvorena u vitičaste zagrade kao što je prikazano na slici ispod:
Kako ova formula radi:
Kao iu svim prethodnim primjerima, EXACT vraća TRUE za svaku vrijednost u A2:A7 koja točno odgovara vrijednosti u F2. Pošto koristimo TRUE za lookup_value MATCH, on vraća relativnu poziciju tačnog podudaranja osjetljivog na velika i mala slova, što je upravo ono što INDEX treba da vrati podudaranje iz B2:B7.
Napredna formula za pretraživanje osjetljiva na velika i mala slova
Gore spomenuta formula INDEX MATCH izgleda savršeno, zar ne? Ali u stvari, nije. Dozvolite mi da vam pokažem zašto.
Pretpostavimo da je ćelija u povratnoj koloni koja odgovara traženoj vrijednosti prazna. Šta će formula vratiti? Ništa.A sada, da vidimo šta zapravo vraća:
=INDEX(C2:C7, MATCH(TRUE, EXACT(A2:A7, F2), 0))
Ups, formula vraća nulu! Možda to i nije važno kada se radi samo o tekstualnim vrijednostima. Međutim, ako vaš radni list sadrži brojeve i neki od njih su stvarne nule, to je problem.
Uistinu, sve ostale formule za traženje o kojima smo ranije govorili ponašaju se na isti način. Ali sada želite besprijekornu formulu, zar ne?
Da bi formula INDEX MATCH osjetljiva na velika i mala slova bila apsolutno savršena, umotajte je u funkciju IF koja provjerava je li povratna ćelija prazna i ne vraća ništa u ovaj slučaj:
=IF(INDIRECT("C"&(1+MATCH(TRUE,EXACT(A2:A7, F2), 0)))"", INDEX(C2:C7, MATCH(TRUE, EXACT(A2:A7, F2), 0)), "")
U gornjoj formuli:
- "C" je povratna kolona.
- "1" je broj koji pretvara relativnu poziciju ćelije koju vraća funkcija MATCH u stvarnu adresu ćelije .
Na primjer, niz pretraživanja u našoj funkciji MATCH je A2:A7, što znači da je relativna pozicija ćelije A2 "1", jer je ovo prva ćelija u nizu. Ali u stvarnosti, niz za pretraživanje počinje u redu 2. Da bismo nadoknadili razliku, dodajemo 1, tako da će funkcija INDIRECT vratiti vrijednost iz desne ćelije.
Snimke zaslona ispod pokazuju poboljšani INDEX osjetljiv na velika i mala slova MATCH formula u akciji.
Ako je povratna ćelija prazna, formula ne daje ništa (prazan niz):
Ako povratna ćelija sadrži nulu , formula vraća 0:
Ako želiteprikaži neku poruku kada je povratna ćelija prazna, zamijeni prazan niz ("") u posljednjem argumentu IF nekim tekstom:
=IF(INDIRECT("C"&(1+MATCH(TRUE, EXACT(A2:A7, F2), 0)))"", INDEX(C2:C7, MATCH(TRUE, EXACT(A2:A7, F2), 0)), "There is nothing to return, sorry.")
Uradite VLOOKUP osjetljiv na velika i mala slova na jednostavan način
Korisnici našeg Ultimate Suite for Excel imaju poseban alat koji olakšava traženje velikih i složenih tablica bez stresa. Najbolja stvar je da Merge Two Tables ima opciju koja razlikuje velika i mala slova, a primjer u nastavku to pokazuje u akciji.
Pretpostavimo da želite povući Qty. iz tabele Lookup u tablicu Main na osnovu jedinstvenih ID-ova stavke:
Ono što radite je da pokrenete Merge Tables čarobnjaka i izvršite ove korake:
- Odaberite glavnu tablicu u koju želite povući nove podatke.
- Odaberite tabelu pretraživanja gdje ćete tražiti nove podatke.
- Odaberite jednu ili više ključnih kolona (ID stavke u našem slučaju). I obavezno označite polje Podudaranje osjetljivo na velika i mala slova .
Trenutak kasnije, dobit ćete željeni rezultat :)
Tako se traži u Excelu uzimajući u obzir velika i mala slova. Zahvaljujem vam na čitanju i nadam se da se vidimo na našem blogu sljedeće sedmice!
Vježbanje za preuzimanje
Primjeri VLOOKUP-a osjetljivi na velika i mala slova (.xlsx datoteka)