Recherche de la Dernière Valeur dans une Colonne ou une Ligne – Excel
Télécharger le Classeur Exemple
Ce tutoriel vous apprendra à rechercher la dernière valeur d’une colonne ou d’une ligne dans Excel.
Dernière Valeur dans une Colonne
Vous pouvez utiliser la Fonction RECHERCHE pour trouver la dernière cellule non vide d’une colonne.
=RECHERCHE(2;1/(B:B<>"");B:B)
Parcourons cette formule.
La partie de la formule B:B<> » » renvoie un tableau contenant les valeurs Vrai et Faux : {FAUX, VRAI, VRAI,…}, en testant si chaque cellule de la colonne B est vide (FAUX).
=RECHERCHE(2,1/({FAUX;VRAI;VRAI;VRAI;VRAI;VRAI;FAUX ;...),B:B)
Ces valeurs booléennes se convertissent en 0 ou 1 et sont utilisées pour diviser 1.
=RECHERCHE(2,{#DIV/0!;1;1;1;1;1;1;#DIV/0! ;,B:B)
Il s’agit du vecteur de recherche pour la Fonction RECHERCHE. Dans notre cas, la valeur recherchée est 2, mais la plus grande valeur du vecteur de recherche est 1, donc la Fonction RECHERCHE correspondra au dernier 1 du tableau et retournera la valeur correspondante dans le vecteur de résultats.
Si vous êtes sûr que vous n’avez que des valeurs numériques dans votre colonne, que vos données commencent à la ligne 1 et que votre plage de données est continue, vous pouvez utiliser une formule légèrement plus simple avec les fonctions INDEX et NB.
=INDEX(B:B,NB(B:B))
La Fonction NB renvoie le nombre de cellules contenant des données dans la plage continue (4) et la fonction INDEX donne donc la valeur de la cellule dans la ligne correspondante (4ème).
Pour éviter les erreurs possibles lorsque votre plage de données contient un mélange de valeurs numériques et non numériques, ou même quelques cellules vides, vous pouvez utiliser la Fonction RECHERCHE conjointement avec les fonctions ESTVIDE et NON.
=RECHERCHE(2;1/(NON(ESTVIDE(B:B)));B:B)
La Fonction ESTVIDE renvoie un tableau contenant les valeurs Vrai et Faux, correspondant à des 1 et des 0. La Fonction NON transforme la valeur Vrai (c’est-à-dire 1) en Faux et la valeur Faux (c’est-à-dire 0) en Vrai. Si nous inversons ce tableau (en divisant 1 par ce tableau), nous obtenons un tableau de résultats contenant à nouveau des erreurs #DIV/0 ! et des 1, qui peut être utilisé comme tableau de recherche (vecteur_recherche) dans notre Fonction RECHERCHE. La fonctionnalité de la Fonction RECHERCHE est alors la même que dans notre premier exemple : elle retourne la valeur du vecteur de résultat à la position du dernier 1 dans le tableau de recherche.
Lorsque vous avez besoin que le numéro de ligne de la dernière entrée soit retourné, vous pouvez modifier la formule utilisée dans notre premier exemple avec la Fonction LIGNE dans votre vecteur de résultat.
=RECHERCHE(2;1/(B:B<>"");LIGNE(B:B))
Dernière Valeur de la Rangée
Pour obtenir la valeur de la dernière cellule non vide d’une ligne contenant des données numériques, vous pouvez utiliser une approche similaire mais avec des fonctions différentes : la Fonction DECALER associée aux fonctions EQUIV et MAX.
=DECALER(Référence, Lignes, Colonnes)
=DECALER(B2;0;EQUIV(MAX(B2:XFD2)+1;B2:XFD2;1)-1)
Voyons comment cette formule fonctionne.
Fonction EQUIV
Nous utilisons la Fonction EQUIV pour « compter » le nombre de valeurs de cellules inférieures à 1 + le maximum de toutes les valeurs de la ligne 2 à partir de B2.
=EQUIV(Valeur_Cherchée, Tableau_Recherche, [Type])
=EQUIV(MAX(B2:XFD2)+1;B2:XFD2;1)
La valeur de recherche de la Fonction EQUIV est le maximum de toutes les valeurs de la ligne 2 + 1. Puisque cette valeur n’existe évidemment pas dans la ligne 2 et que le type de correspondance est défini sur 1 (inférieur ou égal à la valeur de recherche), la Fonction EQUIV renvoie la position de la dernière cellule « vérifiée » dans le tableau, c’est-à-dire le nombre de cellules remplies de données dans la plage B2:XFD2 (XFD est la toute dernière colonne dans les nouvelles versions d’Excel).
Fonction DECALER
Nous utilisons ensuite la Fonction DECALER pour obtenir la valeur de cette cellule, dont la position a été renvoyée par la Fonction EQUIV.
=DECALER(B2;0;C4-1)