Yleinen kaava
=ROW()-ROW(rng.firstcell)+1>ROWS(rng)-n
Yhteenveto
Voit merkitä alueen viimeiset n riviä käyttämällä apusaraketta ROW- ja ROWS-funktioihin perustuvan kaavan avulla. Esitetyssä esimerkissä solun E5 kaava on kopioitu alaspäin:
=ROW()-ROW(INDEX(data,1,1))+1>ROWS(data)-n
missä tiedot (B5: E15) ja n (G5) on nimetty alueiksi.
Tämä kaava palauttaa arvon TOSI, jos rivi on "viimeinen n rivi", ja EPÄTOSI, jos ei.
Selitys
Tämän kaavan ydin perustuu toiseen kaavaan, joka laskee alueen "nykyisen rivin":
=ROW()-ROW(rng.firstcell)+1
Lyhyesti sanottuna saamme työkirjan nykyisen rivin ja vähennämme sitten alueen ensimmäisen rivinumeron plus 1. Tuloksena on korjattu rivinumero, joka alkaa 1. Indeksitoiminto on yksinkertaisesti yksi tapa saada ensimmäisen solun tietyssä alue:
ROW(INDEX(data,1,1) // first cell
Tämä on vain mukavuuden vuoksi. Kaava voidaan kirjoittaa uudelleen seuraavasti:
=ROW()-ROW($E$5)+1
Kun meillä on nykyinen rivinumero, voimme verrata rivinumeroa tietojen kokonaisriveihin vähennettynä n:
current_row > ROWS(data)-n
Jos tämä lauseke palauttaa arvon TOSI, nykyinen rivi on yksi viimeisistä n rivistä, jota etsimme.
Viimeiset n riviä taulukossa
Jos tiedot ovat Excel-taulukossa, kaavaa voidaan mukauttaa näin:
=ROW()-@ROW(Table1)+1>ROWS(Table1)-n
Logiikka on täsmälleen sama, mutta käytämme hieman erilaista lähestymistapaa saadaksesi taulukon ensimmäisen solun:
@ROW(Table1)
Voit ajatella, että @ -merkki osoittaa "yhden":
=ROW(Table1) // returns (5;6;7;8;9;10;11;12;13;14;15) =@ROW(Table1) // returns (5)
Kuten aiemmin, taulukon kaava palauttaa arvon TOSI "viimeisissä n rivissä" ja epätosi muissa.
Vain viimeinen rivi
Jos haluat testata vain viimeistä riviä, voit käyttää kaavan hieman yksinkertaistettua versiota:
=ROW()-ROW(rng.first)+1=ROWS(rng)