Exceli valem: hankige viimane vaste -

Lang L: none (table-of-contents)

Üldine valem

(=MAX(IF(criteria,ROW(rng)-MIN(ROW(rng))+1)))

Kokkuvõte

Otsinguväärtuse viimase vaste (st viimase esinemise) positsiooni saamiseks võite kasutada massiivivalemit, mis põhineb funktsioonidel IF, ROW, INDEX, MATCH ja MAX. Näidatud näites on H6 valem:

(=MAX(IF(names=H5,ROW(names)-MIN(ROW(names))+1)))

Kus "nimed" on nimega vahemik C4: C11.

Märkus: see on massiivi valem ja see tuleb sisestada juhtklahviga + shift + enter.

Selgitus

Selle valemi põhisisu on see, et koostame loendi antud vahemiku rea numbritest, mis vastavad väärtusele, ja seejärel kasutame funktsiooni MAX, et saada suurim rea number, mis vastab viimasele vastavusväärtusele. Kasutame nimega vahemikku "nimed" ainult mugavuse huvides.

Seestpoolt töötades loob valemi see osa suhtelise reanumbrite komplekti:

ROW(names)-MIN(ROW(names))+1

Ülaltoodud avaldise tulemuseks on selline arv massiiv:

(1;2;3;4;5;6;7;8)

Pange tähele, et saame 8 numbrit, mis vastavad tabeli 8 rida. Selle valemi osa toimimise üksikasjad leiate sellelt lehelt.

Selle valemi eesmärgil soovime vastavate väärtuste jaoks ainult rea numbreid, seega kasutame väärtuste filtreerimiseks funktsiooni IF:

IF(names=H5,ROW(names)-MIN(ROW(names))+1)

Selle tulemuseks on massiiv, mis näeb välja selline:

(1;FALSE;FALSE;4;FALSE;FALSE;7;FALSE)

Pange tähele, et see massiiv sisaldab endiselt kaheksa üksust. Siiski on säilinud ainult nende ridade numbrid, mille nimevahemikus "nimed" on väärtus "amy" (st 1, 4, 7). Kõik muud massiivi üksused on FALSE, kuna need ei õnnestunud funktsiooni IF loogilises testis.

Lõpuks edastab IF funktsioon selle massiivi funktsioonile MAX. MAX tagastab massiivi kõrgeima väärtuse numbri 7, mis vastab viimase rea numbrile, kus nimi on "amy". Kui teame viimast sobivat rea numbrit, saame selle positsiooni väärtuse hankimiseks kasutada INDEX-i.

Teisena viimased jne.

Teise kuni viimase, kolmanda ja viimase positsiooni saamiseks võite MIN-funktsioonilt LARGE-funktsioonile üle minna järgmiselt:

(=LARGE(IF(criteria,ROW(rng)-MIN(ROW(rng))+1),k))

kus k tähistab "suurust n". Näiteks, et saada ülaltoodud näites viimane kuni viimane vaste, võite kasutada järgmist:

(=LARGE(IF(names=H5,ROW(names)-MIN(ROW(names))+1),2))

Nagu varemgi, on see massiivi valem ja see tuleb sisestada juhtklahviga + shift + enter.

Huvitavad Artiklid...