
Általános képlet
=LOOKUP(2,1/(item="hat"),price)
Összegzés
A listán szereplő termékek legfrissebb árának megkereséséhez olyan sorrendben, hogy a legfrissebb elemek utoljára jelennek meg, használhatja a KERESÉS funkció alapján működő képletet. A példabemutatóban a G7 képlete a következő:
=LOOKUP(2,1/(item=F7),price)
ahol az elem a megnevezett tartomány B5: B12, az ár a megnevezett tartomány D5: D12, és az adatok dátum szerint növekvő sorrendben vannak.
Magyarázat
A LOOKUP funkció feltételezi, hogy az adatok rendezve vannak, és mindig hozzávetőleges egyezést végez. Ha a keresési érték nagyobb, mint a keresési tömb összes értéke, az alapértelmezett viselkedés az, hogy "visszaesik" az előző értékre. Ez a képlet kiaknázza ezt a viselkedést egy tömb létrehozásával, amely csak 1-et és hibákat tartalmaz, majd szándékosan keresi a 2 értéket, amely soha nem található meg.
Először ezt a kifejezést értékelik:
item=F7
Ha az F7 "szandált" tartalmaz, az eredmény az IGAZ és HAMIS értékek tömbje, mint ez:
(FALSE;TRUE;FALSE;TRUE;FALSE;FALSE;TRUE;FALSE)
Ez a tömb az 1 osztójaként van megadva:
1/(FALSE;TRUE;FALSE;TRUE;FALSE;FALSE;TRUE;FALSE)
A matematikai művelet automatikusan a TRUE és FALSE értékeket 1s és 0s értékekre kényszeríti, így az eredmény egy másik ilyen tömb:
(#DIV/0!;1;#DIV/0!;1;#DIV/0!;#DIV/0!;1;#DIV/0!)
közvetlenül a LOOKUP függvényhez tér vissza, mint keresési vektor argumentum.
Figyelje meg, hogy a tömb csak két egyedi értéket tartalmaz: az osztás nulla hibával (# DIV / 0!) És az 1-es szám.
A LOOKUP a tömbben keresi a 2. értéket, figyelmen kívül hagyva a hibaértékeket. A 2-et nem találva az utolsó 1-re esik, a keresési vektor 7. helyén. A LOOKUP ezután visszaadja az eredményvektor 7. elemét (a megnevezett "ár" tartományt), a 15 értéket.
Ha többet szeretne megtudni arról, hogy szándékosan keres-e olyan értéket, amely soha nem fog megjelenni, olvassa el a BigNumról.