Tartalomjegyzék
Az oktatóanyag elmagyarázza az Excel LOOKUP függvény vektor és tömb formáit, és képletpéldákkal mutatja be a LOOKUP tipikus és nem triviális használatát az Excelben.
Az egyik leggyakoribb kérdés, amelyet minden Excel-felhasználó egyszer-egyszer feltesz, a következő: " Hogyan nézhetek meg egy értéket az egyik lapon, és hogyan húzhatom át a megfelelő értéket egy másik lapra? ". Természetesen az alapforgatókönyvnek számos változata lehet: lehet, hogy a pontos egyezés helyett a legközelebbi egyezést keresi, lehet, hogy függőlegesen egy oszlopban vagy vízszintesen egy sorban szeretne keresni, egy vagy több kritériumot értékelhet ki stb. A lényeg azonban ugyanaz - tudnia kell, hogyan kell keresni az Excelben.
A Microsoft Excel egy maroknyi különböző módot biztosít a keresés elvégzésére. Kezdetnek tanuljunk meg egy olyan függvényt, amely a függőleges és vízszintes keresés legegyszerűbb eseteit hivatott kezelni. Amint azt könnyen kitalálhatja, a LOOKUP függvényről beszélek.
Excel LOOKUP funkció - szintaxis és felhasználások
A legalapvetőbb szinten az Excelben a LOOKUP funkció egy értéket keres egy oszlopban vagy sorban, és egy másik oszlopban vagy sorban ugyanabban a pozícióban lévő megfelelő értéket ad vissza.
Az Excelben a LOOKUP kétféle formája létezik: Vektor és Array Az alábbiakban minden egyes formát külön-külön ismertetünk.
Excel LOOKUP funkció - vektoros forma
Ebben az összefüggésben egy vektor egy oszlop vagy egy sor tartományra vonatkozik. Következésképpen a LOOKUP vektoros formáját arra használja, hogy egy sorban vagy oszlopban keressen egy megadott értéket, és egy másik sorban vagy oszlopban ugyanarról a pozícióról húzzon ki egy értéket.
A vektor Lookup szintaxisa a következő:
LOOKUP(lookup_value, lookup_vector, [result_vector])Hol:
- Lookup_value (kötelező) - a keresendő érték, amely lehet szám, szöveg, TRUE vagy FALSE logikai érték, vagy a keresési értéket tartalmazó cellára való hivatkozás.
- Lookup_vector (kötelező) - egysoros vagy egyoszlopos tartomány, amelyben keresni kell. A következők szerint kell rendezni. növekvő sorrendben .
- Eredmény_vektor (opcionális) - egysoros vagy egyoszlopos tartomány, amelyből az eredményt vissza kívánja adni - a keresési értékkel azonos pozícióban lévő érték. Eredmény_vektor kell lennie a azonos méret mint lookup_range Ha kihagyja, az eredményt a következőből kapja vissza lookup_vector .
A következő példák két egyszerű Lookup képletet mutatnak be működés közben.
Függőleges keresési formula - keresés egy oszlopos tartományban
Tegyük fel, hogy a D oszlopban van egy lista az eladókról (D2:D5) és az általuk eladott termékek az E oszlopban (E2:E5). Egy műszerfalat hoz létre, ahol a felhasználók a B2 oszlopba írják be az eladó nevét, és szüksége van egy képletre, amely a B3 oszlopba húzza a megfelelő terméket. A feladat könnyen megoldható ezzel a képlettel:
=LOOKUP(B2,D2:D5,E2:E5)
Az érvek jobb megértéséhez tekintse meg ezt a képernyőképet:
Vízszintes keresési formula - keresés egysoros tartományban
Ha a forrásadatok vízszintes elrendezésűek, azaz a bejegyzések nem oszlopokban, hanem sorokban vannak, akkor adjon meg egy soros tartományt a lookup_vector és result_vector érvek, mint például ez:
=LOOKUP(B2,E1:H1,E2:H2)
A bemutató második részében további Excel Lookup példákat talál, amelyek összetettebb feladatokat oldanak meg. Addig is, kérjük, ne feledje a következő egyszerű tényeket, amelyek segítenek elkerülni a lehetséges buktatókat és megelőzni a gyakori hibákat.
5 dolog, amit tudnia kell az Excel LOOKUP vektoros formájáról
- Értékek lookup_vector kell rendezni a növekvő sorrendben , azaz a legkisebbtől a legnagyobbig vagy A-tól Z-ig, különben az Excel keresési képlete hibát vagy helytelen eredményt adhat vissza. Ha keresést kell végeznie az alábbi elemekre vonatkozóan válogatatlan adatok , majd használja az INDEX MATCH vagy az OFFSET MATCH lehetőséget.
- Lookup_vector és result_vector kell lennie egy egysoros vagy egy oszlopos azonos méretű tartomány.
- Az Excel LOOKUP funkciója a következő case-insensitive , nem tesz különbséget a kis- és nagybetűs szöveg között.
- Az Excel LOOKUP a következők alapján működik hozzávetőleges egyezés Pontosabban, a Lookup formula először a pontos egyezést keresi. Ha nem találja meg pontosan a keresési értéket, akkor megnézi a következő legkisebb érték , azaz a legnagyobb érték a lookup_vector amely kisebb vagy egyenlő, mint lookup_value .
Például, ha a keresési érték "5", a képlet először ezt keresi. Ha az "5" nem található, akkor a "4"-et keresi. Ha a "4" nem található, akkor a "3"-at keresi, és így tovább.
- Ha lookup_value a kisebb mint a legkisebb érték a lookup_vector , az Excel LOOKUP a #N/A hibát adja vissza.
Excel LOOKUP funkció - tömbi forma
A LOOKUP függvény tömbi formája a megadott értéket a tömb első oszlopában vagy sorában keresi, és a tömb utolsó oszlopában vagy sorában ugyanezen a helyen lévő értéket keresi.
A Lookup tömbnek 2 argumentuma van, mindkettő kötelező:
LOOKUP(lookup_value, tömb)Hol:
- Lookup_value - egy tömbben keresendő érték.
- Array - egy cellatartomány, ahol a keresési értéket meg akarja keresni. A tömb első oszlopában vagy sorában lévő értékeket (attól függően, hogy V-keresést vagy H-keresést végez) növekvő sorrendbe kell rendezni. A nagy- és kisbetűket egyenértékűnek kell tekinteni.
Például, ha az eladók neve a tömb első oszlopában (A oszlop) és a rendelés dátuma a tömb utolsó oszlopában (C oszlop) található, a következő képlettel kereshet a névre és húzhatja ki a megfelelő dátumot:
=LOOKUP(B2,D2:F5)
Megjegyzés: Az Excel LOOKUP függvény tömbös formája nem tévesztendő össze az Excel tömbös képletekkel. Bár a LOOKUP tömbökkel dolgozik, a LOOKUP mégis egy hagyományos képlet, amelyet a szokásos módon, az Enter billentyű lenyomásával fejezünk be.
4 dolog, amit tudnia kell az Excel LOOKUP tömb formájáról
- Ha array van több sor, mint oszlop vagy ugyanannyi oszlop és sor van, a keresési képlet az első oszlopban keres (vízszintes keresés).
- Ha array van több oszlop, mint sor , az Excel LOOKUP az első sorban keres (függőleges keresés).
- Ha egy képlet nem találja a keresési értéket, akkor a legnagyobb érték a tömbben, amely kisebb vagy egyenlő mint lookup_value .
- Ha a a keresési érték kisebb mint a tömb első oszlopának vagy sorának legkisebb értéke (a tömb dimenzióitól függően), a Lookup formula #N/A hibát ad vissza.
Fontos megjegyzés! Az Excel LOOKUP tömb formájának funkcionalitása korlátozott, ezért nem javasoljuk a használatát. Ehelyett használhatja a VLOOKUP vagy a HLOOKUP függőleges és vízszintes keresést végző, továbbfejlesztett változatát.
Hogyan használjuk a LOOKUP funkciót az Excelben - képletpéldák
Bár az Excelben léteznek erősebb funkciók is a keresésre és a megfeleltetésre (ez a következő bemutató témája), a LOOKUP sok helyzetben jól jön, és a következő példák néhány nem triviális felhasználási módot mutatnak be. Kérjük, vegye figyelembe, hogy az alábbi képletek mindegyike az Excel LOOKUP vektoros formáját használja.
Érték keresése egy oszlop utolsó nem üres cellájában
Ha egy oszlop dinamikusan feltöltött adatokkal rendelkezik, előfordulhat, hogy a legutóbb hozzáadott bejegyzést szeretné kiválasztani, azaz az oszlop utolsó nem üres celláját szeretné megkapni. Ehhez használja ezt az általános képletet:
LOOKUP(2, 1/( oszlop ""), oszlop )A fenti képletben az oszlophivatkozás kivételével minden argumentum konstans, így egy adott oszlop utolsó értékének kinyeréséhez csak a megfelelő oszlophivatkozást kell megadnia. Például az A oszlop utolsó nem üres cellájának értékét az alábbi képlettel tudja kinyerni:
=LOOKUP(2, 1/(A:A""), A:A)
Az utolsó érték más oszlopokból történő lekérdezéséhez módosítsa az oszlophivatkozásokat az alábbi képernyőképen látható módon - az első hivatkozás az üres/nem üres cellákra ellenőrizendő oszlop, a második hivatkozás pedig az az oszlop, amelyből az értéket vissza kell adni:
Hogyan működik ez a képlet
A lookup_value argumentummal 2 vagy bármely más, 1-nél nagyobb számot adhatsz meg (egy pillanat múlva megérted, hogy miért).
A lookup_vector argumentumot, ezt a kifejezést kell beírni: 1/(A:A""")
- Először az A:A""" logikai műveletet hajtja végre, amely az A oszlop minden egyes celláját egy üres karakterlánccal hasonlítja össze, és az üres cellák esetén TRUE-t, a nem üres cellák esetén pedig FALSE-t ad vissza. A fenti példában az F2-ben lévő képlet ezt a tömböt adja vissza: {TRUE;TRUE;TRUE;TRUE;TRUE;FALSE...}.
- Ezután az 1-es számot elosztjuk a fenti tömb minden egyes elemével. Ha a TRUE egyenlő 1, a FALSE pedig egyenlő 0-val, akkor egy új tömböt kapunk, amely 1-es értékekből és #DIV/0! hibákból áll (a 0-val való osztás eredménye), és ezt a tömböt használjuk fel lookup_vector Ebben a példában {1;1;1;1;1;#DIV/0!...}
Most pedig, hogy jön az, hogy a képlet az utolsó nem üres értéket adja vissza egy oszlopban, tekintve, hogy lookup_value nem egyezik a lookup_vector A logika megértésének kulcsa az, hogy az Excel LOOKUP közelítő egyezéssel keres, azaz ha a pontos keresési értéket nem találja, akkor a következő legnagyobb értékkel egyezik meg a listában. lookup_vector amely kisebb, mint lookup_value A mi esetünkben, lookup_value 2, és a legnagyobb érték a lookup_vector 1, tehát a LOOKUP a tömb utolsó 1-esére illeszkedik, ami az utolsó nem üres cella!
A result_vector argumentummal hivatkozik arra az oszlopra, amelyből vissza akar adni egy értéket, és a Lookup-képlet a keresési értékkel azonos pozícióban lévő értéket fogja lekérni.
Tipp: Ha szeretné megkapni a a sor száma az utolsó értéket tartva, majd a ROW függvényt használjuk annak kinyeréséhez. Például: =LOOKUP(2,1/(A:A""),ROW(A:A))
Érték keresése egy sor utolsó nem üres cellájában
Ha a forrásadatok oszlopok helyett sorokban vannak elrendezve, akkor az utolsó nem üres cella értékét kaphatja meg ezzel a képlettel:
LOOKUP(2, 1/( sor ""), sor )Valójában ez a képlet nem más, mint az előző képlet enyhe módosítása, azzal a különbséggel, hogy az oszlophivatkozás helyett a sorhivatkozást használja.
Ha például az 1. sor utolsó nem üres cellájának értékét szeretné megkapni, használja ezt a képletet:
=LOOKUP(2, 1/(1:1""), 1:1)
Az alábbi képernyőkép mutatja az eredményt:
A sor utolsó bejegyzéséhez tartozó érték lekérdezése
Egy kis kreativitással a fenti képlet könnyen testre szabható más hasonló feladatok megoldására. Például arra is használható, hogy egy sorban egy adott érték utolsó példányához tartozó értéket kapjunk. Ez talán kissé homályosan hangzik, de a következő példa megkönnyíti a dolgok megértését.
Tegyük fel, hogy van egy összefoglaló táblázatunk, ahol az A oszlop tartalmazza az eladók nevét, a további oszlopok pedig minden hónapra vonatkozóan tartalmaznak valamilyen adatot. Ebben a példában egy cella akkor tartalmaz "igen"-t, ha egy adott eladó az adott hónapban legalább egy üzletet kötött. A célunk az, hogy egy sorban az utolsó "igen" bejegyzéshez tartozó hónapot kapjuk meg.
A feladat a következő LOOKUP képlettel oldható meg:
=LOOKUP(2, 1/(B2:H2="igen"), $B$1:$H$1)
A képlet logikája alapvetően megegyezik az első példában leírtakkal. A különbség az, hogy a "nem egyenlő" (""") helyett az "egyenlő" ("=") operátort használja, és oszlopok helyett sorokkal operál.
A következő képernyőkép egy eredményt mutat be:
Lookup mint az egymásba ágyazott IF-ek alternatívája
Az összes eddig tárgyalt Lookup képletben a lookup_vector és result_vector Az Excel LOOKUP függvény szintaxisa azonban lehetővé teszi, hogy a vektorokat függőleges tömbi konstans formájában adjuk meg, ami lehetővé teszi, hogy a beágyazott IF funkciót egy tömörebb és könnyebben olvasható képlettel megismételjük.
Tegyük fel, hogy az A oszlopban van egy rövidítésekből álló lista, és ezeket teljes nevekkel szeretnénk helyettesíteni, ahol a "C" a "Befejezett", a "D" a "Fejlesztés", a "T" pedig a "Tesztelés". A feladatot a következő egymásba ágyazott IF függvénnyel lehet elvégezni:
=IF(A2="c", "Befejezett", IF(A2="d", "Fejlesztés", IF(A2="t", "Tesztelés", ""))))
Vagy a következő keresési képlet használatával:
=LOOKUP(A2, {"c"; "d"; "t"}, {"Befejezett"; "Fejlesztés"; "Tesztelés"})
Amint az alábbi képernyőképen látható, mindkét képlet azonos eredményt ad:
Megjegyzés: Ahhoz, hogy egy Excel Lookup formula megfelelően működjön, az értékeket a lookup_array A-tól Z-ig vagy a legkisebbtől a legnagyobbig kell rendezni.
Ha az értékeket egy keresőtáblából húzza ki, akkor a Vlookup függvényt beágyazhatja a lookup_value argumentummal kereshet egyezést.
Feltételezve, hogy a keresési érték az E2 cellában van, a keresési táblázat A2:C7, és a keresési táblázat 3. oszlopa a keresési oszlop ("Status"), a következő képlet elvégzi a feladatot:
=LOOKUP(VLOOKUP(E2, $A$2:$C$7, 3, FALSE), {"c"; "d"; "t"}, {"Befejezett"; "Fejlesztés"; "Tesztelés"})
Amint az alábbi képernyőképen látható, a képlet lekérdezi a projekt státuszát a keresőtáblából, és egy rövidítést a megfelelő szóval helyettesít:
Tipp: Ha az Excel 2016-ot az Office 365 előfizetés részeként használja, hasonló célokra használhatja a SWITCH funkciót.
Remélem, hogy ezek a példák megvilágították a LOOKUP függvény működését. A képletek jobb megértéséhez szívesen letöltheti ezeket az Excel Lookup példákat. A következő bemutatóban néhány más módszert fogunk megvitatni a Lookup Excelben, és elmagyarázzuk, hogy melyik Lookup képletet melyik helyzetben érdemes használni. Köszönöm, hogy elolvasták, és remélem, hogy jövő héten találkozunk a blogon!