Tabela e përmbajtjes
Tutoriali shpjegon se si të bëhet Excel VLOOKUP i ndjeshëm ndaj shkronjave të vogla, demonstron disa formula të tjera që dallojnë shkronjat e tekstit dhe vë në dukje pikat e forta dhe kufizimet e secilit funksion.
Mendoj se çdo Përdoruesi i Excel e di se çfarë funksioni kryen një kërkim vertikal në Excel. E drejtë, është VLOOKUP. Megjithatë, shumë pak njerëz janë të vetëdijshëm se VLOOKUP-i i Excel-it është i pandjeshëm ndaj shkronjave të mëdha, që do të thotë se i trajton shkronjat e vogla dhe të mëdha si të njëjtat karaktere.
Këtu është një shembull i shpejtë që tregon paaftësinë e VLOOKUP-it për të dalluar shkronjat e tekstit. Supozoni nëse keni "faturë" në qelizën A2 dhe "Faturë" në A4. Formula e mëposhtme do të kap "faturën" sepse ajo vjen e para në grupin e kërkimit dhe kthen një vlerë që përputhet nga B2.
=VLOOKUP("Bill", A2:B4, 2, FALSE)
Më tej në këtë artikull, unë do t'ju tregoj një mënyrë për ta bërë VLOOKUP-in të ndjeshëm ndaj rasteve. Ne do të eksplorojmë gjithashtu disa funksione të tjera që mund të bëjnë një përputhje të ndjeshme ndaj shkronjave të vogla në Excel.
Formula VLOOKUP e ndjeshme ndaj shkronjave të vogla
Siç u përmend më lart, një formulë e zakonshme VLOOKUP nuk njeh shkronjat. Megjithatë, ekziston një mënyrë për ta bërë Excel VLOOKUP të ndjeshëm ndaj shkronjave të vogla, siç tregohet në shembullin e mëposhtëm.
Supozoni se keni ID-të e artikujve në kolonën A dhe dëshironi të tërheqni çmimin dhe komentin e artikullit nga kolonat B dhe C. Problemi është se ID-të përfshijnë shkronja të vogla dhe të mëdha. Për shembull, vlerat në A4 (001Tvci3u) dhe A5 (001Tvci3U) ndryshojnë vetëm nëkarakteri i fundit, përkatësisht "u" dhe "U".
Kur kërkoni "001Tvci3 U ", një formulë standarde VLOOKUP nxjerr 90$ që shoqërohet me "001Tvci3 u " sepse vjen përpara "001Tvci3 U " në grupin e kërkimit. Por kjo nuk është ajo që dëshironi, apo jo?
=VLOOKUP(F2, A2:C7, 2, FALSE)
Për të kryer një kërkim të ndjeshëm ndaj rasteve në Excel, ne kombinojmë VLOOKUP, CHOOSE dhe EXACT funksionet:
VLOOKUP(TRUE, CHOOSE({1,2}, EXACT( vlera_kërkuese, array_kërkimi), array_kthimi), 2, 0)Kjo formulë gjenerike funksionon në mënyrë perfekte në të gjitha situatat. Ju madje mund të kërkoni nga e djathta në të majtë , diçka që një formulë e rregullt VLOOKUP nuk është në gjendje ta bëjë. Faleminderit Pouriya që sugjeroi këtë zgjidhje të thjeshtë dhe elegante!
Në rastin tonë, formulat e vërteta shkojnë si më poshtë.
Për të tërhequr çmimin në F3:
=VLOOKUP(TRUE, CHOOSE({1,2}, EXACT(F2, A2:A7), B2:B7), 2, FALSE)
Për të marrë komentin F4:
=VLOOKUP(TRUE, CHOOSE({1,2}, EXACT(F2, A2:A7), C2:C7), 2, FALSE)
Shënim. Në të gjitha versionet e Excel-it përveç Excel 365, kjo funksionon vetëm si një formulë grupi, prandaj mos harroni të shtypni Ctrl + Shift + Enter për ta përfunduar atë saktë. Në Excel 365, për shkak të mbështetjes për vargje dinamike, funksionon gjithashtu si një formulë e rregullt.
Si funksionon kjo formulë:
Pjesa thelbësore që bën truk është formula CHOOSE me të vendosur EXACT:
CHOOSE({1,2}, EXACT(F2, A2:A7), C2:C7)
Këtu, funksioni EXACT krahason vlerën në F2 kundrejt çdo vlere në A2:A7 dhe kthen TRUE nëse ato janë saktësisht të njëjta duke përfshirë edhe shkronjat e vogla,FALSE ndryshe:
{FALSE;FALSE;FALSE;TRUE;FALSE;FALSE}
Për argumentin indeksi_num të CHOOSE, ne përdorim konstantën e grupit {1,2}. Si rezultat, funksioni kombinon vlerat logjike nga grupi i mësipërm dhe vlerat nga C2:C7 në një grup dy-dimensional si ky:
{FALSE,155;FALSE,186;FALSE,90;TRUE,54;FALSE,159;FALSE,28}
Funksioni VLOOKUP e merr atë nga atje dhe kërkon vlerën e kërkimit (e cila është E VËRTETË) në kolonën e 1-të të grupit 2-dimensional (të përfaqësuar nga vlerat logjike) dhe kthen një përputhje nga kolona e dytë, që është çmimi që kërkojmë:
VLOOKUP(TRUE, {FALSE,155;FALSE,186;FALSE,90;TRUE,54;FALSE,159;FALSE,28}, 2, 0)
Formula XLOOKUP e ndjeshme ndaj shkronjave të vogla
Abonentët e Microsoft 365 mund të bëjnë një kërkim të ndjeshëm ndaj rasteve në Excel me një formulë edhe më të thjeshtë. Siç mund ta merrni me mend, po flas për një pasardhës më të fuqishëm të VLOOKUP - funksionin XLOOKUP.
Për shkak se XLOOKUP funksionon në grupe kërkimi dhe kthimi veçmas, nuk kemi nevojë për mashtrimin dydimensional të grupit nga ai i mëparshmi shembull. Thjesht, përdorni EXACT për argumentin array_lookup :
XLOOKUP(TRUE, EXACT( lookup_value , lookup_array ), return_array , " Nuk u gjet")Argumenti i fundit ("Nuk u gjet") është opsional. Ai thjesht përcakton se çfarë vlere duhet të kthehet nëse nuk gjendet asnjë përputhje. Nëse e anashkaloni, atëherë do të kthehet një gabim standard #N/A në rast se formula nuk gjen asgjë.
Për tabelën tonë të mostrës, këto janë formulat XLOOKUP të ndjeshme ndaj shkronjave të vogla për t'u përdorur.
Për të marrë çmimin në F3:
=XLOOKUP(TRUE, EXACT(F2, A2:A7), B2:B7, "Not found")
Për të nxjerrëkomenti F4:
=XLOOKUP(TRUE, EXACT(F2, A2:A7), C2:C7, "Not found")
Si funksionon kjo formulë:
Si në shembullin e mëparshëm, EXACT kthen një grup vlerash TRUE dhe FALSE, ku TRUE përfaqëson përputhjet e ndjeshme ndaj rasteve. XLOOKUP kërkon grupin e mësipërm për vlerën TRUE dhe kthen një përputhje nga array_return_2>. Ju lutemi vini re, nëse ka dy ose më shumë vlera saktësisht të njëjta në kolonën e kërkimit (përfshirë shkronjën), formula do të kthejë përputhjen e parë të gjetur.
Kufizim XLOOKUP : disponohet vetëm në Excel 365 dhe Excel 2021.
SUMPRODUCT - kërkim i ndjeshëm ndaj rasteve për të kthyer numrat që përputhen
Siç e kuptoni nga titulli, SUMPRODUCT është një funksion tjetër i Excel që mund të bëjë një kërkim të ndjeshëm ndaj shkronjave të vogla , por mund të kthejë vetëm vlera numerike . Nëse ky nuk është rasti juaj, atëherë kaloni te shembulli INDEX MATCH që ofron një zgjidhje për të gjitha llojet e të dhënave.
Siç e dini ndoshta, SUMPRODUCT i Excel shumëzon komponentët në grupet e specifikuara dhe kthen shumën e produkteve. Meqenëse ne duam një kërkim të ndjeshëm ndaj rasteve, ne përdorim funksionin EXACT për të marrë grupin e parë:
=SUMPRODUCT((EXACT(A2:A7,F2) * (B2:B7)))
Fatkeqësisht, funksioni SUMPRODUCT nuk mund të kthejë përputhjet e tekstit pasi vlerat e tekstit nuk mund të shumëzohen. Në këtë rast, ju do të merrni një #VLERË! gabim si në qelizën F4 në pamjen e mëposhtme:
Si funksionon kjo formulë:
Si në shembullin VLOOKUP, EXACT kontrollet e funksionitvlerën në F2 kundrejt të gjitha vlerave në A2:A7 dhe kthen TRUE për përputhjet e ndjeshme ndaj shkronjave, FALSE ndryshe:
SUMPRODUCT(({FALSE;FALSE;FALSE;TRUE;FALSE;FALSE}*{155;186;90;54;159;28}))
Në shumicën e formulave, Excel vlerëson TRUE në 1 dhe FALSE në 0 Pra, kur SUMPRODUCT shumëzon elementet e dy vargjeve në të njëjtat pozicione, të gjitha që nuk përputhen (FALSE) bëhen zero:
SUMPRODUCT({0;0;0;54;0;0})
Si rezultat, formula kthen një numër nga kolona B që korrespondon me përputhjen ekzakte të ndjeshme ndaj shkronjave në kolonën A.
Kufizim i SUMPRODUCT : mund të kthejë vetëm vlera numerike.
INDEX MATCH - kërkim i ndjeshëm ndaj shkronjave për të gjitha llojet e të dhënave
Më në fund, ne jemi afër marrjes së një formule kërkimi pa kufizime të ndjeshme ndaj rasteve që funksionon në të gjitha versionet e Excel dhe në të gjitha grupet e të dhënave.
Ky shembull vjen i fundit jo vetëm sepse më e mira ruhet për të fundit, por edhe sepse njohuritë që keni marrë në shembujt e mëparshëm mund t'ju ndihmojnë të kuptoni më mirë formulën MATCH INDEX të ndjeshme ndaj shkronjave.
Shpesh përdoret kombinimi i funksioneve INDEX dhe MATCH në Shemb cel si një alternativë më fleksibël dhe më e gjithanshme për VLOOKUP. Artikulli vijues bën një punë të mirë (shpresojmë :) duke shpjeguar se si këto dy funksione funksionojnë së bashku - Përdorimi i INDEX MATCH në vend të VLOOKUP.
Këtu, unë do t'ju kujtoj vetëm pikat kryesore:
- Funksioni MATCH kërkon për vlerën e kërkimit në grupin e specifikuar të kërkimit dhe kthen pozicionin e tij relativ.
- Relativipozicioni i vlerës së kërkimit shkon drejtpërdrejt në argumentin row_num të funksionit INDEX duke e udhëzuar atë të kthejë një vlerë nga ai rresht.
Që formula të njohë rastet e tekstit, ju thjesht duhet të shtohet një funksion më shumë në kombinimin klasik INDEX MATCH. Natyrisht, ju duhet sërish funksioni EXACT:
INDEX( array_return_2>, MATCH(TRUE, EXACT( lookup_value , lookup_array ), 0))Formula e vërtetë në F3 është:
=INDEX(B2:B7, MATCH(TRUE, EXACT(A2:A7, F2), 0))
Në F4, ne po përdorim këtë:
=INDEX(C2:C7, MATCH(TRUE, EXACT(A2:A7, F2), 0))
Ju lutemi mbani mend se funksionon vetëm si një formulë grupi në të gjitha versionet përveç Excel 365, prandaj sigurohuni që ta futni duke shtypur së bashku tastet Ctrl + Shift + Enter. Nëse bëhet si duhet, formula do të mbyllet në kllapa kaçurrelë siç tregohet në pamjen e mëposhtme:
Si funksionon kjo formulë:
Si në të gjithë shembujt e mëparshëm, EXACT kthen TRUE për çdo vlerë në A2:A7 që përputhet saktësisht me vlerën në F2. Meqenëse ne përdorim E VËRTETË për vlerën_kërkuese të MATCH, ajo kthen një pozicion relativ të përputhjes ekzakte të ndjeshme ndaj shkronjave, e cila është pikërisht ajo që INDEX duhet të kthejë një përputhje nga B2:B7.
Formula e avancuar e kërkimit e ndjeshme ndaj rasteve
Formula e sipërpërmendur INDEX MATCH duket e përsosur, apo jo? Por në fakt, nuk është kështu. Më lejoni t'ju tregoj pse.
Supozoni se një qelizë në kolonën e kthimit që korrespondon me vlerën e kërkimit është bosh. Çfarë do të kthejë formula? Asgjë.Dhe tani, le të shohim se çfarë kthen në të vërtetë:
=INDEX(C2:C7, MATCH(TRUE, EXACT(A2:A7, F2), 0))
Oops, formula kthen një zero! Ndoshta, nuk është vërtet e rëndësishme kur kemi të bëjmë vetëm me vlerat e tekstit. Megjithatë, nëse fleta juaj e punës përmban numra dhe disa prej tyre janë zero reale, ky është një problem.
Në të vërtetë, të gjitha formulat e tjera të kërkimit të diskutuara më parë sillen në të njëjtën mënyrë. Por tani ju dëshironi një formulë të patëmetë, apo jo?
Për ta bërë absolutisht të përsosur formulën e ndjeshme ndaj shkronjave të vogla INDEX MATCH, ju e mbështillni atë në funksionin IF që kontrollon nëse një qelizë e kthimit është bosh dhe nuk kthen asgjë në ky rast:
=IF(INDIRECT("C"&(1+MATCH(TRUE,EXACT(A2:A7, F2), 0)))"", INDEX(C2:C7, MATCH(TRUE, EXACT(A2:A7, F2), 0)), "")
Në formulën e mësipërme:
- "C" është kolona e kthimit.
- "1" është numri që e kthen një pozicion relativ të qelizës së kthyer nga funksioni MATCH në një adresë reale qelize .
Për shembull, grupi i kërkimit në funksionin tonë MATCH është A2:A7, që do të thotë se pozicioni relativ i qelizës A2 është "1", sepse kjo është qeliza e parë në grup. Por në realitet, grupi i kërkimit fillon në rreshtin 2. Për të kompensuar diferencën, ne shtojmë 1, kështu që funksioni INDIRECT do të kthejë një vlerë nga qeliza e djathtë.
Pamjet e mëposhtme të ekranit demonstrojnë INDEX-in e përmirësuar të ndjeshëm ndaj shkronjave të vogla MATCH formula në veprim.
Nëse qeliza e kthimit është bosh, formula nuk nxjerr asgjë (një varg bosh):
Nëse qeliza e kthimit përmban një zero , formula kthen 0:
Nëse dëshironishfaqni një mesazh kur një qelizë e kthimit është bosh, zëvendësoni një varg bosh ("") në argumentin e fundit të IF me një tekst:
=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.")
Bëni një mënyrë të thjeshtë VLOOKUP-in e ndjeshëm ndaj rasteve
Përdoruesit e Ultimate Suite për Excel kanë një mjet të veçantë që e bën kërkimin në tabela të mëdha dhe komplekse më të lehtë dhe pa stres. Gjëja më e mirë është se Merge Two Tables ka një opsion të ndjeshëm ndaj rasteve dhe shembulli i mëposhtëm e tregon atë në veprim.
Supozoni se dëshironi të tërhiqni Qty. nga tabela Kërkimi në tabelën Kryesore bazuar në ID-të unike të artikullit:
Ajo që bëni është të ekzekutoni Tabelat e Bashkimit magjistar dhe kryeni këto hapa:
- Zgjidhni tabelën kryesore në të cilën do të tërheqni të dhëna të reja.
- Zgjidhni tabelën e kërkimit ku të kërkoni të dhënat e reja.
- Zgjidhni një ose më shumë kolona kyçe (ID-ja e artikullit në rastin tonë). Dhe sigurohuni që të kontrolloni kutinë Përputhja e ndjeshme ndaj shkronjave .
Një moment më vonë, do të merrni rezultatin e dëshiruar :)
Kjo është se si të kërkoni në Excel duke marrë parasysh rastin e tekstit. Ju falënderoj që lexoni dhe shpresoj t'ju shohim në blogun tonë javën tjetër!
Praktikoni librin e punës për shkarkim
Shembuj VLOOKUP të ndjeshëm ndaj rasteve (skedari .xlsx)