Sam utilise fréquemment la fonction RECHERCHEV. C’est très pratique, mais il existe une limitation importante: la recherche ne peut faire référence qu’aux colonnes de droite. Cela signifie que Sam ne peut pas utiliser, comme troisième paramètre de RECHERCHEV, une valeur négative pour référencer une colonne à gauche. Il se demande s’il existe un moyen de contourner cette limitation.

Il existe en fait trois façons de contourner cette limitation: la restructuration, l’utilisation d’INDEX et l’utilisation de CHOOSE. Je vais examiner chacune de ces méthodes, à tour de rôle.

Restructuration de votre contenu

C’est peut-être l’approche la moins souhaitable, mais je vais m’en débarrasser dès le départ. Si vous constatez que vous devez souvent renvoyer des valeurs à gauche de votre recherche, vous pouvez envisager de restructurer votre feuille de calcul afin que les valeurs soient à droite de votre formule.

Une autre méthode de restructuration consiste à utiliser une colonne d’aide à droite de votre formule. Cette colonne d’assistance doit simplement faire référence aux valeurs de retour réelles. Par exemple, si vos valeurs de retour sont dans la colonne A et votre formule dans la colonne E, vous pouvez ajouter une colonne d’aide a J.

La formule dans J1 serait simplement = A1. Copiez-le, puis utilisez la colonne J comme valeurs de retour dans les formules de la colonne E.

Utilisation d’INDEX et MATCH

L’approche la plus courante au problème que Sam rencontre est peut-être d’utiliser une combinaison des fonctions INDEX et MATCH au lieu de VLOOKUP. Par exemple, disons que vous avez la formule VLOOKUP suivante:

=VLOOKUP(G1,$C$1:$E$100,3,TRUE)

Cela recherche dans la plage C1: C100 la valeur dans G1 (comme correspondance approximative) et obtient la valeur correspondante dans E1: E100. Cette formule équivaut à la formule suivante:

=INDEX($E$1:$E$100,MATCH(G1,$C$1:$C$100,1))

Donc, si vous voulez obtenir une colonne à gauche de votre colonne de recherche (par exemple A1: A100), vous pouvez utiliser quelque chose comme:

=INDEX($A$1:$A$100,MATCH(G1,$C$1:$C$100,1))

Si vous voulez une correspondance exacte renvoyée par la recherche, tout ce que vous avez à faire est de changer le 1 final de la fonction MATCH en 0, comme ceci:

=INDEX($A$1:$A$100,MATCH(G1,$C$1:$C$100,0))

Utilisation de VLOOKUP et CHOOSE

Si vous souhaitez réellement continuer à utiliser la fonction RECHERCHEV dans votre formule, vous pouvez la « tromper » pour qu’elle récupère les valeurs à gauche en incluant également la fonction CHOISIR.

Pour illustrer cela, supposons que vos valeurs de recherche se trouvent dans la colonne D et que les valeurs de retour se trouvent dans la colonne A. Dans la cellule G1 se trouve votre valeur de recherche. La formule suivante renverra les valeurs appropriées:

=VLOOKUP(G1,CHOOSE({1,2},$D$1:$D$100,$A$1:$A$100),2,FALSE)

La fonction CHOOSE renvoie un tableau constitué des cellules indiquées.

La fonction RECHERCHEV renvoie ensuite une valeur de la deuxième colonne de ce tableau, qui se trouve être la colonne A, à gauche de la colonne D.

ExcelTips est votre source pour une formation Microsoft Excel rentable.

Cette astuce (13608) s’applique à Microsoft Excel 2007, 2010, 2013, 2016, 2019 et Excel dans Office 365.