Excel képlet: Az utolsó mérkőzés megszerzése -

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

érdekes cikkek...