Ha már az előző bejegyzésben foglalkoztunk a tartomány első értékének megkeresésével, nézzük most meg, hogyan találhatjuk meg az utolsó kitöltött cellát – például egy oszlopban. Az alábbi módszer nagy előnye, hogy biztosan a legutolsó cellát találja meg – akkor is, ha üres cellák is vannak az oszlopban!
Két különböző formulát használunk, attól függően, hogy a tartomány számokat vagy szöveget tartalmaz.
Csak számok vannak a tartományban:
=HOL.VAN(10^10 ; B:B ; 1)
=MATCH(10^10 ; B:B ; 1)
A trükk annyi, hogy egy nagyon nagy számot (10 a tizediken) keresünk meg a tartományban úgy, hogy harmadik paraméterként (egyezés típusa) 1-et állítottam be. Ez két fontos dolgot jelent: a legnagyobb olyan értéket keressük, ami nem nagyobb a keresési értéknél (10^10) ÉS feltételezzük, hogy a keresési tartományban növekvő sorrendben vannak az értékek. Emiatt a keresés folytatódik a lista legutolsó (jelen esetben legalsó) eleméig, (ami a feltételezés szerint a legnagyobb érték lenne) – de természetesen még mindig kisebb, mint a keresett nagyon nagy szám. Itt pedig megáll a keresés.
(Látjátok, az adatok valójában nincsenek növekvő sorrendben! – az Excel az 1-es paraméter alkalmazása esetén ezt nem vizsgálja, mindössze úgy működik, mintha a tartomány rendezett lenne. Ezt a „naivságát” használjuk ki ezzel a megoldással!)
Eredményül 11-et kapunk – ez az utolsó cella sorszáma a B:B tartományon belül.
Csak szöveg van a tartományban:
Ugyanazt a formulát és logikát alkalmazzuk, mint az előző esetben, csak most nem egy nagyon nagy számot, hanem egy, az ábécében nagyon hátul levő karaktersort használunk:
=HOL.VAN(„zzzz” ; B:B ; 1)
=MATCH(„zzzz” , B:B , 1)
Én itt a „zzzz”-t választottam – ez eléggé nagy bizonyossággal az utolsó „szó” lenne egy abécébe rendezett listában. Ha egészen biztosra akartok menni, főleg, ha különleges karaktereket is tartalmazhatnak az adataitok, akkor az omega jelet javaslom a formulában használni:
=HOL.VAN(„Ω” ; B:B ; 1)
=HOL.VAN(„Ω” , B:B , 1)
(Megtaláljátok a Beszúrás menüben a Szimbólumok alatt.)
És ha szöveges és szám adatok is vannak?
Akkor a legegyszerűbb mindkét formulát felírni, és a kettő közül a nagyobbik sorszámot használni:
=MAX( HOL.VAN(10^10;B:B;1) ; HOL.VAN(„Ω”;B:B;1) )
=MAX( MATCH(10^10,B:B,1) , MATCH(„Ω”,B:B,1) )
Kérdezz tőlünk Excel segítő csoportunkban vagy kövesd az Adatkertészetet a Facebookon!
Legutóbbi hozzászólások