Kirk a une grande table de données dans Excel. Chaque ligne a un numéro de véhicule, une date (le tableau est trié par cette colonne), le kilométrage de début et le kilométrage de fin. Il aimerait effectuer une recherche en arrière dans le tableau de données pour trouver le kilométrage final pour le même numéro de véhicule à utiliser comme kilométrage initial dans la ligne actuelle – similaire à RECHERCHEV, mais en regardant de bas en haut plutôt que de haut en bas.

Il existe plusieurs façons d’aborder cela avec une formule. Supposons, pour cet exemple, que le numéro de véhicule se trouve dans la colonne A, la date dans la colonne B, le kilométrage de départ dans la colonne C et le kilométrage de fin dans la colonne D.

Ce dont vous avez besoin est une formule que vous pouvez mettre dans la colonne C qui recherche le kilométrage final le plus récent pour le véhicule actuel. La formule suivante fournit une approche; vous devez le placer dans la cellule C3:

=LOOKUP(2,1/FIND(A3,A$2:A2,1),D$2:D2)

Vous pouvez copier la formule dans la colonne autant que vous le souhaitez. Si le numéro de véhicule, dans la colonne A, n’est pas apparu plus tôt dans le tableau de données, alors la formule renverra une erreur telle que #VALUE! ou # N / A. Dans ce cas, vous pouvez facilement taper la formule avec le kilométrage de départ que vous souhaitez utiliser pour le véhicule.

Voici une autre approche formule, mais celle-ci doit être saisie sous forme de formule matricielle (en appuyant sur Ctrl + Maj + Entrée):

=IF(A3="","",MAX(IF(($A$2:A2=A3)*($D$2:D2),$D$2:D2)))

Encore une fois, placez la formule dans la cellule C3 et copiez-la aussi loin que nécessaire.

Celui-ci ne renvoie pas de valeur d’erreur si le véhicule n’est pas apparu plus tôt dans le tableau de données; il renvoie une valeur de 0. Vous pouvez ensuite taper sur la formule avec le kilométrage de départ réel pour ce véhicule. La formule matricielle suivante peut également être utilisée:

=IF(A3="","",INDIRECT("D"&LARGE(($A$2:A3=A3)*ROW($2:3),2)))

La différence avec cette formule matricielle est que si le véhicule n’est pas apparu plus tôt dans la table de données, il renvoie un #REF! Erreur.

Voici deux formules matricielles encore plus courtes que vous pouvez utiliser dans C3 (et, encore une fois, copiez-les si nécessaire):

=MAX((D$2:D2)*(--(A$2:A2=A3)))

=MAX(IF(A$2:A2=A3,D$2:D2))

ExcelTips est votre source pour une formation Microsoft Excel rentable.

Cette astuce (11745) s’applique à Microsoft Excel 2007, 2010, 2013, 2016, 2019 et Excel dans Office 365. Vous pouvez trouver une version de cette astuce pour l’ancienne interface de menu d’Excel ici:

link: / excel-Looking_Backward_through_a_Data_Table [Regard en arrière à travers une table de données].