
Általános képlet
(=MAX(IF(criteria,ROW(rng)-MIN(ROW(rng))+1)))
Összegzés
A keresési érték utolsó találatának (azaz utolsó előfordulásának) helyzetének lekérdezéséhez használhat egy tömbképletet, amely az IF, ROW, INDEX, MATCH és MAX függvényeken alapul. A bemutatott példában a H6 képlete a következő:
(=MAX(IF(names=H5,ROW(names)-MIN(ROW(names))+1)))
Ahol a "nevek" a C4: C11 elnevezett tartomány.
Megjegyzés: ez egy tömbképlet, amelyet a control + shift + enter billentyűkombinációval kell megadni.
Magyarázat
Ennek a képletnek az a lényege, hogy összeállítunk egy adott tartomány sorszámait, amelyek egyeznek egy értékkel, majd a MAX függvény segítségével kapjuk meg a legnagyobb sorszámot, amely megfelel az utolsó egyező értéknek. A megnevezett tartomány "neveket" csak kényelem érdekében használjuk.
Belülről kifelé haladva a képlet ezen része egy relatív sorszámot generál:
ROW(names)-MIN(ROW(names))+1
A fenti kifejezés eredménye egy ilyen számtömb:
(1;2;3;4;5;6;7;8)
Figyeljük meg, hogy 8 számot kapunk, amelyek megfelelnek a táblázat 8 sorának. Ezen az oldalon talál további részleteket a képlet ezen részének működéséről.
E képlet alkalmazásában csak sorszámokat szeretnénk megadni az egyező értékekhez, ezért az IF függvény segítségével szűrjük az értékeket így:
IF(names=H5,ROW(names)-MIN(ROW(names))+1)
Ez egy tömböt eredményez, amely így néz ki:
(1;FALSE;FALSE;4;FALSE;FALSE;7;FALSE)
Vegye figyelembe, hogy ez a tömb még nyolc elemet tartalmaz. Csak azok a sorszámok maradtak fenn, amelyekben a nevezett tartományban a "nevek" értéke megegyezik az "amy" értékkel (azaz 1, 4, 7). A tömb összes többi eleme HAMIS, mivel nem sikerült az IF függvény logikai tesztje.
Végül az IF függvény eljuttatja ezt a tömböt a MAX függvényhez. A MAX a tömb legmagasabb értékét, a 7-es számot adja vissza, amely megfelel az utolsó sorszámnak, ahol a név "amy". Miután megtudtuk az utolsó egyező sorszámot, az INDEX használatával lekérhetünk egy értéket ezen a helyen.
Második az utolsó, stb.
Ahhoz, hogy a második az utolsó, a harmadik az utolsó, stb. Pozícióba kerüljön, a MIN funkcióról a LARGE funkcióra válthat így:
(=LARGE(IF(criteria,ROW(rng)-MIN(ROW(rng))+1),k))
ahol k az "n. legnagyobb". Például a fenti példában a második az utolsó mérkőzés eléréséhez használhatja:
(=LARGE(IF(names=H5,ROW(names)-MIN(ROW(names))+1),2))
Mint korábban, ez is egy tömbképlet, amelyet a vezérlő + shift + enter billentyűkombinációval kell megadni.