Excel képlet: Keresés a legújabb árról

Á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.

érdekes cikkek...