
Általános képlet
=LOOKUP(2,1/SEARCH(things,A1),things)
Összegzés
Ha egy cellát ellenőriz a több dolog közül, és visszaadja a listában található utolsó találatot, használhat egy képletet, amely a LOOKUP és a SEARCH függvényeken alapul. Több talált találat esetén a képlet az utolsó találatot adja vissza a "dolgok" listájából.
A bemutatott példában a C5 képlete a következő:
=LOOKUP(2,1/SEARCH(things,B5),things)
Magyarázat
Környezet: van egy lista a dolgokról a "dolgok" nevű tartományban (E5: E8), és ellenőrizni szeretné a B oszlop celláit, hogy tartalmazzák-e ezeket a dolgokat. Ha igen, vissza akarja adni az utolsó elemet a megtalált "dolgokból".
Ebben a képletben a SEARCH függvényt a B oszlop celláinak keresésére használják így:
SEARCH(things,B5)
Amikor a KERESÉS talál egyezést, visszaadja az egyezés helyzetét a keresett cellában. Ha a keresés nem talál egyezést, akkor a #VALUE hibát adja vissza. Mivel a SEARH-nak egynél több dolgot adunk, amit keresni kell, az több eredményt is eredményez. A bemutatott példában a SEARCH egy ilyen eredménytömböt ad vissza:
(8;24;#VALUE!;#VALUE!)
Ezt a tömböt ezután osztóként használják az 1. számra. Az eredmény egy tömb, amely hibákból és tizedesértékekből áll. A hibák a nem talált dolgokat, a tizedesértékek pedig a megtaláltakat jelölik. A bemutatott példában a tömb így néz ki:
(0.125;0.0416666666666667;#VALUE!;#VALUE!)
Ez a tömb a "lookup_vector" -ként szolgál a LOOKUP funkcióhoz. A keresési érték 2-es számként kerül megadásra, és az eredményvektor a "dolgok" nevű tartomány. Ez az okos rész.
A képlet úgy van felépítve, hogy a keresési vektor soha ne tartalmazzon 1-nél nagyobb értéket, míg a keresési érték 2. Ez azt jelenti, hogy a keresési érték soha nem lesz megtalálható. Ebben az esetben a LOOKUP megegyezik a tömbben talált utolsó számértékkel, amely megfelel a SEARCH által talált utolsó "dolognak".
Végül a megnevezett "dolgok" tartományt felhasználva eredményvektorként a LOOKUP adja vissza az utoljára talált dolgot.
Keményen kódolt értékekkel
Egy olyan tartomány használata, mint a "dolgok", megkönnyíti a keresési kifejezések listájának módosítását (és további keresési kifejezések hozzáadását), de ez nem követelmény. Az értékeket keményen kódolhatja közvetlenül is a következő képletbe:
=LOOKUP(2,1/SEARCH(("red","blue","green"),B5),("red","blue","green"))