Excel-kaava: Hanki viimeinen ottelu -

Sisällysluettelo

Yleinen kaava

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

Yhteenveto

Voit hakea hakuarvon viimeisen vastaavuuden (eli viimeisen esiintymän) sijainnin käyttämällä taulukkoa, joka perustuu funktioihin IF, RIVI, HAKEMISTO, MATCH ja MAX. Esitetyssä esimerkissä kaava H6: ssa on:

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

Missä "nimet" on nimetty alue C4: C11.

Huomaa: tämä on matriisikaava ja se on syötettävä näppäimillä + + shift + enter.

Selitys

Tämän kaavan ydin on, että rakennamme luettelon rivinumeroista tietylle alueelle, joka vastaa arvoa, ja sitten MAX-funktiolla saadaan suurin rivinumero, joka vastaa viimeistä vastaavaa arvoa. Käytämme nimettyjä alueita "nimet" vain mukavuuden vuoksi.

Työskentelemällä sisältä ulospäin, tämä kaavan osa luo suhteellisen joukon rivinumeroita:

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

Yllä olevan lausekkeen tulos on joukko tällaisia ​​numeroita:

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

Huomaa, että saamme 8 numeroa, jotka vastaavat taulukon 8 riviä. Tältä sivulta saat lisätietoja kaavan tämän osan toiminnasta.

Tätä kaavaa varten haluamme vain rivinumerot vastaaville arvoille, joten käytämme IF-funktiota suodattamaan arvot näin:

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

Tuloksena on taulukko, joka näyttää tältä:

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

Huomaa, että tämä taulukko sisältää edelleen kahdeksan kohdetta. Ainoastaan ​​rivinumerot, joissa nimettyjen alueiden "nimet" arvo on yhtä suuri kuin "amy" (ts. 1, 4, 7). Kaikki muut matriisin kohteet ovat EPÄTOSI, koska ne eivät läpäisseet IF-funktion loogista testiä.

Lopuksi IF-toiminto toimittaa tämän taulukon MAX-funktiolle. MAX palauttaa matriisin korkeimman arvon numero 7, joka vastaa viimeistä rivinumeroa, jossa nimi on "amy". Kun tiedämme viimeisen vastaavan rivinumeron, voimme hakea arvon INDEX avulla arvon kyseisestä sijainnista.

Toiseksi viimeinen jne.

Saadaksesi toisen sijan viimeiseksi, kolmanneksi viimeiseksi jne., Voit vaihtaa MIN-toiminnosta LARGE-toimintoon seuraavasti:

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

missä k on "n. suurin". Esimerkiksi saadaksesi toisen viimeisen ottelun yllä olevassa esimerkissä, voit käyttää:

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

Kuten aikaisemmin, tämä on matriisikaava ja se on syötettävä painamalla ohjainta + vaihto + enter.

Mielenkiintoisia artikkeleita...