Sadržaj
Udžbenik objašnjava kako napraviti Excel VLOOKUP osjetljiv na velika i mala slova, demonstrira nekoliko drugih formula koje razlikuju velika i mala slova u tekstu i ističe prednosti i ograničenja svake funkcije.
Pretpostavljam da svaki Korisnik Excela zna koja funkcija izvodi okomito pretraživanje u Excelu. Točno, to je VLOOKUP. Međutim, vrlo je malo ljudi svjesno da Excelov VLOOKUP ne razlikuje velika i mala slova, što znači da tretira mala i VELIKA slova kao iste znakove.
Evo kratkog primjera koji pokazuje nemogućnost VLOOKUP-a da razlikuje velika i mala slova u tekstu. Pretpostavimo da imate "račun" u ćeliji A2 i "račun" u A4. Donja formula će uhvatiti "račun" jer dolazi prvi u nizu pretraživanja i vratiti odgovarajuću vrijednost iz B2.
=VLOOKUP("Bill", A2:B4, 2, FALSE)
Dalje u ovom članku, pokazat ću vam način da VLOOKUP učinite osjetljivim na velika i mala slova. Također ćemo istražiti nekoliko drugih funkcija koje mogu izvršiti uparivanje osjetljivo na velika i mala slova u Excelu.
VLOOKUP formula osjetljiva na velika i mala slova
Kao što je gore spomenuto, uobičajena VLOOKUP formula ne prepoznaje velika slova. Međutim, postoji način da Excel VLOOKUP razlikuje velika i mala slova, kao što je pokazano u primjeru u nastavku.
Pretpostavimo da imate ID stavke u stupcu A i želite izvući cijenu i komentar stavke. iz stupaca B i C. Problem je u tome š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 tražite "001Tvci3 U ", standardna VLOOKUP formula ispisuje $90 koji je povezan s "001Tvci3 u " jer dolazi prije "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( lookup_value, lookup_array), return_array), 2, 0)Ova generička formula savršeno funkcionira u svim situacijama. Možete čak pogledati prema gore zdesna ulijevo , nešto što obična VLOOKUP formula ne može učiniti. Svaka čast Pouriyi što je predložio ovo jednostavno i elegantno rješenje!
U našem slučaju, prave formule idu kako slijedi.
Za povlačenje cijene u F3:
=VLOOKUP(TRUE, CHOOSE({1,2}, EXACT(F2, A2:A7), B2:B7), 2, FALSE)
Za dohvaćanje komentara F4:
=VLOOKUP(TRUE, CHOOSE({1,2}, EXACT(F2, A2:A7), C2:C7), 2, FALSE)
Napomena. U svim verzijama Excela osim Excela 365, ovo funkcionira samo kao formula polja, stoga ne zaboravite pritisnuti Ctrl + Shift + Enter da biste to ispravno dovršili. U Excelu 365, zbog podrške za dinamičke nizove, radi i kao obična formula.
Kako ova formula funkcionira:
Ključni dio koji radi trik je CHOOSE formula s 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 velika i velika slova,FALSE inače:
{FALSE;FALSE;FALSE;TRUE;FALSE;FALSE}
Za index_num argument CHOOSE, koristimo konstantu polja {1,2}. Kao rezultat toga, funkcija kombinira logičke vrijednosti iz gornjeg niza i vrijednosti iz C2:C7 u dvodimenzionalni niz kao što je ovaj:
{FALSE,155;FALSE,186;FALSE,90;TRUE,54;FALSE,159;FALSE,28}
Funkcija VLOOKUP to preuzima od tamo i traži vrijednost pretraživanja (koja je TRUE) u 1. stupcu 2-dimenzionalnog niza (predstavljenog logičkim vrijednostima) i vraća podudaranje iz 2. stupca, što je cijena koju tražimo:
VLOOKUP(TRUE, {FALSE,155;FALSE,186;FALSE,90;TRUE,54;FALSE,159;FALSE,28}, 2, 0)
Formula XLOOKUP koja razlikuje velika i mala slova
Pretplatnici Microsofta 365 mogu izvršiti pretraživanje u Excelu uz još jednostavniju formulu koja razlikuje velika i mala slova. Kao što možete pretpostaviti, govorim o moćnijem nasljedniku VLOOKUP-a - funkciji XLOOKUP.
Budući da XLOOKUP zasebno radi na nizovima traženja i vraćanja, ne trebamo trik s dvodimenzionalnim nizovima iz prethodnog primjer. Jednostavno, koristite EXACT za argument lookup_array :
XLOOKUP(TRUE, EXACT( lookup_value , lookup_array ), return_array , " Nije pronađeno")Posljednji argument ("Nije pronađeno") nije obavezan. Samo definira koju vrijednost treba vratiti ako se ne pronađe podudaranje. Ako ga izostavite, vratit će se standardna pogreška #N/A u slučaju da formula ne pronađe ništa.
Za našu oglednu tablicu, ovo su XLOOKUP formule koje razlikuju velika i mala slova za korištenje.
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 vrijednosti TRUE i FALSE, gdje TRUE predstavlja podudaranje koja razlikuje 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 stupcu pretraživanja (uključujući velika i mala slova), formula će vratiti prvo pronađeno podudaranje.
XLOOKUP ograničenje : dostupno samo u Excelu 365 i Excelu 2021.
SUMPRODUCT - pretraživanje osjetljivo na velika i mala slova za vraćanje podudarnih brojeva
Kao što razumijete iz naslova, SUMPRODUCT je još jedna funkcija programa Excel koja može napraviti pretraživanje osjetljivo na velika i mala slova , ali može vratiti samo numeričke vrijednosti . Ako ovo nije vaš slučaj, prijeđite na primjer INDEX MATCH koji nudi rješenje za sve vrste podataka.
Kao što vjerojatno znate, Excelov SUMPRODUCT množi komponente u navedenim nizovima i vraća zbroj umnožaka. 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 tekstualne podudarnosti jer se tekstualne vrijednosti ne mogu množiti. U ovom slučaju, dobit ćete #VALUE! greška kao u ćeliji F4 na snimci zaslona u nastavku:
Kako ova formula funkcionira:
Kao u primjeru VLOOKUP-a, TOČAN provjere funkcijavrijednost u F2 u odnosu na sve vrijednosti u A2:A7 i vraća TRUE za podudaranja koja razlikuju velika i mala slova, FALSE inače:
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 dvaju nizova na istim pozicijama, svi nepodudarni (FALSE) postaju nule:
SUMPRODUCT({0;0;0;54;0;0})
Kao rezultat, formula vraća broj iz stupac B koji odgovara točnom podudaranju osjetljivom na velika i mala slova u stupcu A.
Ograničenje SUMPRODUCT : može vratiti samo numeričke vrijednosti.
INDEX MATCH - pretraživanje osjetljivo na velika i mala slova za sve vrste podataka
Konačno, blizu smo dobivanja formule za traženje bez ograničenja koja razlikuje velika i mala slova koja radi u svim verzijama programa Excel i na svim skupovima podataka.
Ovaj primjer je posljednji ne samo zato što najbolje se čuva za kraj, ali i zato što vam znanje koje ste stekli u prethodnim primjerima može pomoći da bolje razumijete formulu MATCH INDEX koja razlikuje velika i mala slova.
Često se koristi kombinacija funkcija INDEX i MATCH u Ex cel kao fleksibilnija i svestranija alternativa VLOOKUP-u. Sljedeći članak čini dobar posao (nadam se :) objašnjavajući kako ove dvije funkcije rade zajedno - Korištenje INDEX MATCH umjesto VLOOKUP-a.
Ovdje ću vas samo podsjetiti na ključne točke:
- Funkcija MATCH traži vrijednost traženja u navedenom nizu pretraživanja i vraća njen relativni položaj.
- Relativnapoložaj tražene vrijednosti ide izravno na argument row_num funkcije INDEX dajući joj upute da vrati vrijednost iz tog retka.
Da bi formula prepoznala velika i mala slova teksta, samo treba dodati još jednu funkciju klasičnoj kombinaciji INDEX MATCH. Očito vam je opet potrebna TOČNA funkcija:
INDEX( return_array , MATCH(TRUE, EXACT( lookup_value , lookup_array ), 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))
Zapamtite da radi samo kao formulu polja u svim verzijama osim Excela 365, pa je svakako unesite pritiskom na tipke Ctrl + Shift + Enter. Ako se izvede ispravno, formula će biti zatvorena u vitičaste zagrade kao što je prikazano na slici ispod:
Kako ova formula radi:
Kao u svim prethodnim primjerima, EXACT vraća TRUE za svaku vrijednost u A2:A7 koja točno odgovara vrijednosti u F2. Budući da koristimo TRUE za lookup_value od MATCH, vraća relativnu poziciju točnog podudaranja koje razlikuje velika i mala slova, što je upravo ono što INDEX treba da vrati podudaranje iz B2:B7.
Napredna formula za traženje koja razlikuje velika i mala slova
Gore spomenuta formula INDEX MATCH izgleda savršeno, zar ne? Ali zapravo nije. Pokazat ću vam zašto.
Pretpostavimo da je ćelija u povratnom stupcu koja odgovara vrijednosti traženja prazna. Što će formula vratiti? Ništa.A sada, da vidimo što 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, a neki od njih su prave nule, to je problem.
U stvari, sve ostale formule traženja o kojima smo ranije govorili ponašaju se na isti način. Ali sada želite besprijekornu formulu, zar ne?
Kako biste formulu INDEX MATCH koja razlikuje velika i mala slova učinili apsolutno savršenom, umotajte je u funkciju IF koja provjerava je li povratna ćelija prazna i ne vraća ništa 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 povratni stupac.
- "1" je broj koji pretvara relativni položaj ć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 relativni položaj ćelije A2 "1", jer je ovo prva ćelija u nizu. Ali u stvarnosti, polje pretraživanja počinje u retku 2. Kako bismo kompenzirali razliku, dodajemo 1, tako da će funkcija INDIRECT vratiti vrijednost iz desne ćelije.
Snimke zaslona u nastavku pokazuju poboljšani INDEX koji razlikuje velika i mala slova MATCH formula na djelu.
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 zadnjem 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.")
Izvršite 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 što Spajanje dviju tablica ima opciju koja razlikuje velika i mala slova, a donji primjer pokazuje to na djelu.
Pretpostavimo da želite povući Qty. iz tablice Traženje u tablicu Glavna na temelju jedinstvenih ID-ova stavki:
Ono što trebate učiniti je pokrenuti tablice spajanja čarobnjaka i izvršite ove korake:
- Odaberite glavnu tablicu u koju ćete povući nove podatke.
- Odaberite tablicu za pretraživanje u kojoj ćete tražiti nove podatke.
- Odaberite jedan ili više ključnih stupaca (ID stavke u našem slučaju). I svakako označite okvir Uparivanje osjetljivo na velika i mala slova .
Trenutak kasnije dobit ćete željeni rezultat :)
Tako se traži u Excelu uzimajući u obzir veličinu teksta. Zahvaljujem vam na čitanju i nadam se da se vidimo na našem blogu sljedeći tjedan!
Vježbena knjiga za preuzimanje
VLOOKUP primjeri koji razlikuju velika i mala slova (.xlsx datoteka)