Infor logo_informatiquematique

Aide aux divers cours - Bruno GADRAT

Excel - Dernière cellule non vide

Excel, Numbers, Google Sheet, etc.

Mauvaise question, mauvaise réponse

Parce dire ce que l'on veut n'est pas facile

On cherche sur internet "Excel dernière cellule non vide" et on trouve =RECHERCHE(9^9;G6:G39) ou quelque chose du même genre qui recherche un très grand nombre ou un texte commençant pas zzz dans une plage de cellules. On essaye, et oups, ça ne marche pas. Il faut que les cellules soient triées dans un ordre croissant pour que ça marche. Mais dans la vie de tous les jours, les choses qui sont déjà triées dans un ordre croissant, ce n'est pas ce qu'il y a de plus fréquent. On ne décide pas du prix de l'essence ni de l'ordre des jours. Donc la dernière fois qu'on a pris de l'essence, ce n'est généralement pas le plus gros plein de la saison.

On trouve aussi {=MAX(SI(ESTVIDE(plage_voulue);0;LIGNE(plage_voulue)))} Il y a des accolades qui nous disent qu'il faut appuyer sur les bonnes touches (CTRL+SHIFT+ENTER et non pas juste ENTER) pour qu’Excel comprenne. C'est une formule matricielle. Oups, ça ne marche pas. À part Excel, le calcul matriciel, ce n'est pas inclus par défaut dans tous les chiffriers.

Et puis de toute façon, ce n'est pas la dernière cellule non vide de la colonne que l'on veut. On veut savoir combien la voiture consomme de litres aux 100Km entre les deux derniers pleins.

La dernière cellule non vide dans une colonne non triée et sans formule matricielle

Bon, ça, c'est la vie de tous les jours

Disons qu'on veut avoir la consommation d'essence d'une voiture. On fait un relevé des kilomètres au compteur pour nos divers déplacements. Une ligne par jour. Les colonnes qui vont nous intéresser sont:
La colonne D dans laquelle il y a les kilomètres au compteur.
La colonne I dans laquelle il y a les litres d'essence quand on a fait le plein

On a besoin de 2 colonnes.

La formule s'explique ainsi:

Si on n’a pas fait le plein d'essence, on laisse la cellule vide, sinon on prend le nombre de litres d'essence du plein de la ligne courante qu'on divise par le nombre de kilomètres au compteur de la ligne courante moins le nombre de kilomètres au moment du plein précedent. On multiplie par 100, car on veut une consommation pour 100 km.

Le kilométrage du plein précédent s'obtient par la fonction INDEX dans la colonne D. Le numéro de la ligne du plein précédent dans la colonne D s'obtient par la fonction MAX sur les cellules de la colonne H au-dessus de la ligne courante. le groupe de cellules au-dessus de la ligne courante s'obtient par la fonction DECALER à partir du haut de la colonne avec un nombre de rangs correspondant à la ligne en cours moins 1.

On peut utiliser le numéro de la ligne de la dernière cellule remplie au-dessus de la case courante=MAX(DECALER($H$1;0;0;LIGNE()−1;1) soit avec la fonction INDEX INDEX(D:D;MAX(DECALER($H$1;0;0;LIGNE()−1;1);1) soit avec la fonction DECALER pour aller chercher une case particulière ou un ensemble de cases. DECALER($D$1;MAX(DECALER($H$1;0;0;LIGNE()−1;1));0;1;1)

pub

Bruno Gadrat

Orig: 2017/03 Rev: 2017/03/19

dernierecellulenonvide.html

Design et gestion du site B.Gadrat

Contrôle qualité