«

»

már 22

Tartomány utolsó kitöltött cellája

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:

lastcell_v01

=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:

lastcell_v02

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!


Vélemény, hozzászólás?

Az email címet nem tesszük közzé. A kötelező mezőket * karakterrel jelöljük.

Az alábbi HTML kódok használhatóak: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

css.php