Aide aux divers cours - Bruno GADRAT
Excel, Numbers, Google Sheet, etc.
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.
Expertise
Acheter en ligne
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.
=Si(I2="";"";LIGNE())
On recopie la formule sur toute la colonne. On pourra rendre les chiffres de ce calcul intermédiaire invisibles en les coloriant en blanc.=SI(I2="";"";I2÷(D2−INDEX(D:D;MAX(DECALER($H$1;0;0;LIGNE()−1;1);1)))×100)
On recopie la formule sur toute la colonne. 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)
Bruno Gadrat
Orig: 2017/03 Rev: 2017/03/19
dernierecellulenonvide.html
Design et gestion du site B.Gadrat