|
Finde indholdet af sidste celle i en kolonneUdfordringen i denne øvelse er at finde indholdet af den sidst tastede celle i en kolonne. Cellerne indtastes i rækkefølge, altså række 1, række 2 og så videre. Dog kan der, være placeret en formel i samme kolonne men længere nede, som selvfølgelig ikke skal indgå i "beregningen". I dette eksempel tastes i C-kolonnen. I række 100 står en formel, som sammentæller cellerne, C1 til C99. Vi vil nu vide, hvad der sidst er tastet i c-kolonnen. Til dette formål kan vi bruge formlen: =INDEKS(C1:C99;MAKS(HVIS(C1:C99<>"";RÆKKE(C1:C99)))) Formlen skal indtastes som en matrixformel. Det vil sige, at når formlen er indtastet, skal der afsluttes med Ctrl+Skift+Enter. Formlen vises derefter i cellen som: {=INDEKS(C1:C99;MAKS(HVIS(C1:C99<>"";RÆKKE(C1:C99))))} Formlen returneret det nederste indtastede tal i området C1:C99. Overspringes en celle i første omgang, fx C10, vil den alligevel returnere det, som tastes i C11, men udnytter man senere C10, vil dette ikke blive registreret som seneste indtastning, da der er indtastninger længere nede i kolonnen. Forklaring på formlen: Af og til, har vi brug for at finde den nederste celle i et område, der ikke begynder i række 1. Fx C4:C99. I så fald kan vi ikke bruge formlen direkte, da RÆKKE() tæller rækkerne frarække 1. Prøver vi den ovenstående formel i dette tilfælde, vil der blive returneret 0. Det skyldes, at når jeg taster i fx række 5 er det i virkeligheden i områdets række 2. Formlen forsøger at returnere det, der står i områdets række 5 - og der står ingenting. Det antal række, jeg forskyder formlen, må derfor trækkes fra inden jeg returner værdien. I dette tilfælde er det tre rækker, og derfor skal min formel se sådan ud: =INDEKS(C4:C100;MAKS(HVIS(C4:C100<>"";RÆKKE(C4:C100)))-3) |