
Yleinen kaava
=LOOKUP(2,1/(A:A""),A:A)
Yhteenveto
Voit löytää rivin tai sarakkeen viimeisen ei-tyhjän solun arvon käyttämällä LOOKUP-funktiota tässä yllättävän pienikokoisessa kaavassa. Lisäbonuksena tämä kaava ei ole matriisikaava eikä haihtuva.
Selitys
Avain tämän kaavan ymmärtämiseen on tunnistaa, että arvon 2 hakuarvo on tarkoituksella suurempi kuin mikään arvo, joka näkyy hakuvektorissa.
- Lauseke A: A "" palauttaa joukon oikeita ja vääriä arvoja: (TOSI, EPÄTOSI, TOSI,…).
- Numero 1 jaetaan sitten tällä taulukolla ja luo uusi taulukko, joka koostuu joko 1: stä tai jaettuna nollavirheillä (# DIV / 0!): (1,0,1,…). Tämä taulukko on hakuvektori.
- Kun hakuarvoa ei löydy, LOOKUP vastaa seuraavaa pienintä arvoa.
- Tässä tapauksessa hakuarvo on 2, mutta hakuarvon suurin arvo on 1, joten haku vastaa matriisin viimeistä yhtä.
- LOOKUP palauttaa vastaavan arvon tulos_vektorissa (eli saman sijainnin arvon).
Virheiden käsittely
Jos haku_vektorissa on virheitä, varsinkin jos viimeisessä ei-tyhjässä solussa on virhe, tätä kaavaa on mukautettava. Tätä säätöä tarvitaan, koska "" kriteerit palauttavat virheen itse, jos solu sisältää virheen. Voit kiertää tämän ongelman käyttämällä ISBLANKia EI:
=LOOKUP(2,1/(NOT(ISBLANK(A:A))),A:A)
Viimeinen numeerinen arvo
Saadaksesi viimeisen numeerisen arvon, lisää ISNUMBER-funktio seuraavasti:
=LOOKUP(2,1/(ISNUMBER(A1:A100)),A1:A100)
Viimeisen arvon sijainti
Jos haluat saada viimeisen arvon sijainnin (tässä tapauksessa rivinumeron), voit kokeilla seuraavaa kaavaa:
=LOOKUP(2,1/(A:A""),ROW(A:A))
Tässä syötämme saman alueen rivinumerot tulosvektorin hakuun ja saamme takaisin viimeisen ottelun rivinumeron.