Hogyan készítsünk esetérzékeny Vlookupot az Excelben - képletpéldák

  • Ossza Meg Ezt
Michael Brown

A bemutató elmagyarázza, hogyan lehet az Excel VLOOKUP-ot nagy- és kisbetű-érzékennyé tenni, bemutat néhány más képletet, amelyek megkülönböztetik a szöveg nagy- és kisbetűit, és rámutat az egyes funkciók erősségeire és korlátaira.

Gondolom, minden Excel-felhasználó tudja, hogy milyen függőleges keresést végez az Excelben. Így van, ez a VLOOKUP. Azonban nagyon kevesen tudják, hogy az Excel VLOOKUP nagy- és kisbetűket nem érzékel, azaz a kis- és nagybetűket ugyanolyan karaktereknek tekinti.

Íme egy gyors példa, amely bemutatja, hogy a VLOOKUP nem képes megkülönböztetni a szöveg eseteit. Tegyük fel, hogy az A2 cellában "bill" van, az A4 cellában pedig "Bill". Az alábbi képlet a "bill"-t fogja elkapni, mert ez az első a keresési tömbben, és visszaadja a megfelelő értéket a B2-ből.

=VLOOKUP("Bill", A2:B4, 2, FALSE)

A cikk további részében megmutatom, hogyan lehet a VLOOKUP-ot eset-érzékennyé tenni. Megvizsgálunk néhány más olyan függvényt is, amelyek az Excelben eset-érzékeny egyezést végezhetnek.

    Nagy- és kisbetű-érzékeny VLOOKUP formula

    Amint fentebb említettük, a szokásos VLOOKUP-képlet nem ismeri a betűket. Van azonban egy módja annak, hogy az Excel VLOOKUP-ját nagy- és kisbetű-érzékennyé tegyük, amint azt az alábbi példa mutatja.

    Tegyük fel, hogy Tétel azonosítók az A oszlopban, és a tétel árát és megjegyzését a B és C oszlopból szeretné kinyerni. A probléma az, hogy az azonosítók kis- és nagybetűket egyaránt tartalmaznak. Például az A4 (001Tvci3u) és az A5 (001Tvci3U) értékek csak az utolsó karakterben különböznek, az "u" és az "U" karakterben.

    A "001Tvci3" keresésekor U ", egy szabványos VLOOKUP képlet 90 $-t ad ki, amely a "001Tvci3"-hoz kapcsolódik. u ", mert a "001Tvci3" előtt áll. U " a keresőtömbben. De nem ezt akarod, igaz?

    =VLOOKUP(F2, A2:C7, 2, FALSE)

    Nagy- és kisbetű-érzékeny keresés végrehajtásához az Excelben kombináljuk a VLOOKUP, CHOOSE és EXACT funkciókat:

    VLOOKUP(TRUE, CHOOSE({1,2}, EXACT( lookup_value , lookup_array ), return_array ), 2, 0)

    Ez az általános képlet minden helyzetben tökéletesen működik. Akár meg is nézheti jobbról balra , amire a hagyományos VLOOKUP formula nem képes. Dicséret Pouriya-nak ezért az egyszerű és elegáns megoldásért!

    A mi esetünkben a valós képletek a következők.

    Az árat az F3-ban húzza ki:

    =VLOOKUP(TRUE, CHOOSE({1,2}, EXACT(F2, A2:A7), B2:B7), 2, FALSE)

    A megjegyzés lekérdezéséhez F4:

    =VLOOKUP(TRUE, CHOOSE({1,2}, EXACT(F2, A2:A7), C2:C7), 2, FALSE)

    Megjegyzés: Az Excel 365 kivételével minden Excel-verzióban ez csak tömbképletként működik, ezért ne feledje, hogy a Ctrl + Shift + Enter billentyűkombinációt kell lenyomnia a helyes befejezéshez. Az Excel 365-ben a dinamikus tömbök támogatása miatt ez normál képletként is működik.

    Hogyan működik ez a képlet:

    Az alapvető rész, amely a trükköt véghezviszi, a CHOOSE képlet a beágyazott EXACT-okkal:

    CHOOSE({1,2}, EXACT(F2, A2:A7), C2:C7)

    Itt az EXACT függvény összehasonlítja az F2-ben lévő értéket az A2:A7-ben lévő értékekkel, és TRUE-t ad vissza, ha pontosan megegyeznek, beleértve a betűket is, ellenkező esetben FALSE-t:

    {HAMIS;HAMIS;HAMIS;HAMIS;IGAZ;HAMIS;HAMIS;HAMIS}

    A index_num argumentumaként a CHOOSE tömbkonstans {1,2}-t használjuk. Ennek eredményeképpen a függvény a fenti tömb logikai értékeit és a C2:C7 értékeit egy kétdimenziós tömbben egyesíti, így:

    {FALSE,155;FALSE,186;FALSE,90;TRUE,54;FALSE,159;FALSE,28}

    A VLOOKUP függvény innen veszi át, és a keresési értéket (amely TRUE) a kétdimenziós tömb 1. oszlopában keresi (amelyet a logikai értékek képviselnek), és a 2. oszlopból adja vissza a keresett árat:

    VLOOKUP(TRUE, {FALSE,155;FALSE,186;FALSE,90;TRUE,54;FALSE,159;FALSE,28}, 2, 0)

    Nagy- és kisbetű-érzékeny XLOOKUP formula

    A Microsoft 365 előfizetők még egyszerűbb képlettel is végezhetnek esetfüggő keresést az Excelben. Mint sejtheti, a VLOOKUP erőteljesebb utódjáról, az XLOOKUP funkcióról beszélek.

    Mivel az XLOOKUP a keresési és a visszatérési tömbökkel külön-külön működik, nincs szükségünk az előző példában említett kétdimenziós tömbös trükkre. Egyszerűen használjuk az EXACT-ot a lookup_array érv:

    XLOOKUP(TRUE, EXACT( lookup_value , lookup_array ), return_array , "Nem található")

    Az utolsó argumentum ("Not found") opcionális. Csak azt határozza meg, hogy milyen értéket adjon vissza, ha nem talál talál találatot. Ha kihagyja, akkor egy standard #N/A hiba fog visszatérni, ha a formula nem talál semmit.

    A mintatáblánk esetében ezek a nagy- és kisbetűs XLOOKUP képletek használhatók.

    Az F3-ban lévő árat az F3-ban kapja meg:

    =XLOOKUP(TRUE, EXACT(F2, A2:A7), B2:B7, "Nem található")

    A megjegyzés kivonásához F4:

    =XLOOKUP(TRUE, EXACT(F2, A2:A7), C2:C7, "Nem található")

    Hogyan működik ez a képlet:

    Az előző példához hasonlóan az EXACT egy TRUE és FALSE értékekből álló tömböt ad vissza, ahol a TRUE a nagy- és kisbetű-érzékeny egyezéseket jelenti. Az XLOOKUP a fenti tömbben keresi a TRUE értéket, és visszaadja az egyezést a(z) return_array Kérjük, vegye figyelembe, hogy ha a keresési oszlopban két vagy több pontosan azonos érték van (beleértve a betűket is), a képlet az első talált egyezést adja vissza.

    XLOOKUP korlátozás : csak az Excel 365 és az Excel 2021 programban érhető el.

    SUMPRODUCT - nagy- és kisbetű-érzékeny keresés az egyező számok visszaadása érdekében

    Amint a címben is olvasható, a SUMPRODUCT egy újabb Excel-funkció, amely nagy- és kisbetű-érzékeny keresést végezhet, de visszaadhatja a következőket is numerikus értékek Ha nem ez az Ön esete, akkor ugorjon az INDEX MATCH példára, amely minden adattípusra megoldást kínál.

    Mint valószínűleg tudja, az Excel SUMPRODUCT funkciója megszorozza a megadott tömbökben lévő összetevőket, és a termékek összegét adja vissza. Mivel nagy- és kisbetűfüggő keresést szeretnénk, az EXACT függvényt használjuk az első tömbhöz:

    =SUMPRODUCT((EXACT(A2:A7,F2) * (B2:B7)))

    Sajnálatos módon a SUMPRODUCT függvény nem tud szöveges egyezéseket visszaadni, mivel a szöveges értékek nem szorozhatók. Ebben az esetben #VALUE! hibát kap, mint az alábbi képernyőkép F4-es cellájában:

    Hogyan működik ez a képlet:

    A VLOOKUP példához hasonlóan az EXACT függvény is ellenőrzi az F2-ben lévő értéket az A2:A7-ben lévő összes értékkel, és a nagy- és kisbetűs egyezések esetén TRUE-t, egyébként FALSE-t ad vissza:

    SUMPRODUCT(({({FALSE;FALSE;FALSE;FALSE;TRUE;FALSE;FALSE}*{155;186;90;54;159;28})))

    A legtöbb képletben az Excel a TRUE-t 1-re, a FALSE-t pedig 0-ra értékeli. Így amikor a SUMPRODUCT a két tömb azonos pozícióban lévő elemeit megszorozza, minden nem egyező (FALSE) nullává válik:

    SUMPRODUCT({0;0;0;54;0;0})

    A képlet eredményeként a B oszlopból egy olyan számot ad vissza, amely megfelel az A oszlopban lévő pontos, nagy- és kisbetűs egyezésnek.

    SUMPRODUCT korlátozás : csak numerikus értékeket adhat vissza.

    INDEX MATCH - nagy- és kisbetű-érzékeny keresés minden adattípushoz

    Végre közel vagyunk ahhoz, hogy egy olyan korlátozásoktól mentes, nagy- és kisbetű-érzékeny keresési képletet kapjunk, amely minden Excel-verzióban és minden adatkészleten működik.

    Ez a példa nem csak azért marad utoljára, mert a legjobbat a végére tartogatjuk, hanem azért is, mert az előző példákban szerzett ismeretek segíthetnek jobban megérteni a MATCH INDEX formula nagy- és kisbetűket figyelembe vevő használatát.

    Az INDEX és MATCH funkciók kombinációját gyakran használják az Excelben a VLOOKUP rugalmasabb és sokoldalúbb alternatívájaként. Az alábbi cikk (remélhetőleg :) jól elmagyarázza, hogyan működik együtt ez a két funkció - INDEX MATCH használata a VLOOKUP helyett.

    Itt csak a legfontosabb pontokra emlékeztetem Önöket:

    • A MATCH függvény megkeresi a keresési értéket a megadott keresési tömbben, és visszaadja annak relatív pozícióját.
    • A keresési érték relatív pozíciója közvetlenül a row_num argumentumát az INDEX függvénynek, amely arra utasítja, hogy az adott sorból adjon vissza egy értéket.

    Ahhoz, hogy a képlet felismerje a szöveges eseteket, a klasszikus INDEX MATCH kombinációhoz csak még egy funkciót kell hozzáadni. Nyilvánvalóan ismét szükség van az EXACT funkcióra:

    INDEX( return_array , MATCH(TRUE, EXACT( lookup_value , lookup_array ), 0))

    A valódi képlet az F3-ban a következő:

    =INDEX(B2:B7, MATCH(TRUE, EXACT(A2:A7, F2), 0))

    Az F4-ben ezt használjuk:

    =INDEX(C2:C7, MATCH(TRUE, EXACT(A2:A7, F2), 0))

    Ne feledje, hogy ez csak tömbképletként működik az Excel 365-től eltérő verziókban, ezért mindenképpen a Ctrl + Shift + Enter billentyűk együttes lenyomásával írja be. Ha helyesen tette, a képletet az alábbi képernyőképen látható módon zárójelbe fogja zárni:

    Hogyan működik ez a képlet:

    Mint az összes korábbi példában, az EXACT TRUE-t ad vissza minden olyan A2:A7 értékre, amely pontosan megegyezik az F2 értékkel. Mivel TRUE-t használunk a lookup_value a MATCH-nak, a pontos nagy- és kisbetűs egyezés relatív pozícióját adja vissza, amire az INDEX-nek pontosan szüksége van ahhoz, hogy a B2:B7 közötti egyezést adja vissza.

    Speciális nagy- és kisbetű-érzékeny keresési formula

    A fent említett INDEX MATCH formula tökéletesnek tűnik, igaz? De valójában nem az. Hadd mutassam meg, miért.

    Tegyük fel, hogy a visszatérési oszlopban a keresési értéknek megfelelő cella üres. Mit adjon vissza a képlet? Semmit. És most nézzük meg, mit is ad vissza:

    =INDEX(C2:C7, MATCH(TRUE, EXACT(A2:A7, F2), 0))

    Hoppá, a képlet nullát ad vissza! Lehet, hogy ez nem igazán fontos, ha kizárólag szöveges értékekkel dolgozunk. Ha azonban a munkalap számokat tartalmaz, és ezek közül néhány valódi nulla, ez problémát jelent.

    Valójában az összes többi, korábban tárgyalt keresési képlet ugyanígy viselkedik. De most egy kifogástalan képletet akarsz, ugye?

    Ahhoz, hogy az eset-érzékeny INDEX MATCH formula teljesen tökéletes legyen, az IF függvénybe csomagolja, amely ellenőrzi, hogy a visszatérő cella üres-e, és ebben az esetben nem ad vissza semmit:

    =IF(INDIRECT("C"&(1+MATCH(TRUE,EXACT(A2:A7, F2), 0))))"", INDEX(C2:C7, MATCH(TRUE, EXACT(A2:A7, F2), 0)), ""), "")

    A fenti képletben:

    • A "C" a visszatérési oszlop.
    • Az "1" az a szám, amely egy relatív pozíció a MATCH függvény által visszaadott cellának egy valódi cellacím .

    Például a MATCH függvényünkben a keresési tömb A2:A7, ami azt jelenti, hogy az A2 cella relatív pozíciója "1", mivel ez a tömb első cellája. A valóságban azonban a keresési tömb a 2. sorban kezdődik. A különbség kompenzálására hozzáadunk 1-t, így az INDIRECT függvény a jobb oldali cellából fog visszaadni egy értéket.

    Az alábbi képernyőképek a továbbfejlesztett, eset-érzékeny INDEX MATCH képletet mutatják be működés közben.

    Ha a visszatérő cella üres, a képlet nem ad ki semmit (egy üres karakterláncot):

    Ha a visszatérő cella nullát tartalmaz, a képlet 0-t ad vissza:

    Ha inkább valamilyen üzenetet szeretne megjeleníteni, amikor a visszatérő cella üres, akkor az IF utolsó argumentumában lévő üres karakterláncot ("") helyettesítse valamilyen szöveggel:

    =IF(INDIRECT("C"&(1+MATCH(TRUE, EXACT(A2:A7, F2), 0))))"", INDEX(C2:C7, MATCH(TRUE, EXACT(A2:A7, F2), 0)), "Nincs mit visszaadni, sajnálom."))

    Csináljon eset-érzékeny VLOOKUP-ot egy egyszerű módon

    Az Ultimate Suite for Excel programcsomagunk felhasználói egy olyan speciális eszközzel rendelkeznek, amely megkönnyíti és stresszmentessé teszi a keresést a nagy és összetett táblázatokban. A legjobb, hogy a Merge Two Tables (Két táblázat egyesítése) rendelkezik a nagy- és kisbetűkre vonatkozó opcióval, az alábbi példa pedig működés közben mutatja be.

    Tegyük fel, hogy a Qty. értéket a Keresés táblázatot a Főoldal táblázatot az egyedi tételazonosítók alapján:

    Ehhez futtassa a Táblák összevonása varázslót, és hajtsa végre a következő lépéseket:

    1. Válassza ki azt a fő táblázatot, amelybe az új adatokat be kívánja húzni.
    2. Válassza ki a keresőtáblát, ahol az új adatokat keresse.
    3. Válasszon ki egy vagy több kulcsoszlopot (esetünkben az Item ID-t). És mindenképpen ellenőrizze a Nagy- és kisbetű-érzékeny párosítás doboz.

  • A varázsló végigvezeti Önt a fennmaradó három lépésen, ahol megadja, hogy mely oszlopokat kívánja frissíteni, mely oszlopokat kívánja hozzáadni, és szükség esetén további opciókat választ.
  • Egy pillanattal később megkapod a kívánt eredményt :)

    Így kell keresni az Excelben a szöveges esetek figyelembevételével. Köszönöm, hogy elolvastad, és remélem, jövő héten találkozunk a blogon!

    Gyakorlati munkafüzet letölthető

    Nagy- és kisbetűs VLOOKUP példák (.xlsx fájl)

    Michael Brown elkötelezett technológiai rajongó, aki szenvedélyesen egyszerűsíti a bonyolult folyamatokat szoftvereszközök segítségével. A technológiai iparban szerzett több mint egy évtizedes tapasztalatával a Microsoft Excel és az Outlook, valamint a Google Táblázatok és a Dokumentumok területén fejlesztette tudását. Michael blogja célja, hogy megossza tudását és szakértelmét másokkal, könnyen követhető tippeket és oktatóanyagokat adva a termelékenység és a hatékonyság javításához. Akár tapasztalt szakember, akár kezdő, Michael blogja értékes betekintést és gyakorlati tanácsokat kínál, amelyek segítségével a legtöbbet hozhatja ki ezekből az alapvető szoftvereszközökből.