L’objectif de cet article est de présenter comment on peut remplacer la fonction RECHERCHEV par une combinaison des fonctions INDEX, EQUIV et DECALER.
En effet , une des fonctions Excel les plus utilisées est la fonction RECHERCHEV ou VLOOKUP en anglais.
Toutefois, cette fonction a ses limites:
– Il est nécessaire d’avoir la clé de recherche en première colonne de la matrice
– Le nombre de critères est limité à un seul
– Si une colonne est rajoutée dans la matrice, la fonction ne ramène plus le bon résultat.
Vous pouvez voir un exemple dans ce fichier que j’ai réalisé qui explique les limites de la fonction et comment on peut utiliser les fonctions INDEX et EQUIV en lieu et place de RECHERCHEV. L’idéal étant de se servir de champs nommés avec la fonction DECALER afin que le champ soit dynamique (chaque fois qu’une valeur est ajoutée, le champ nommé s’agrandit automatiquement).
Le fonctionnement:
L’objectif est de trouver l’âge de la personne en cellule « G5 ». L’utilisateur peut donc choisir le prénom parmi la liste (champ nommé « Prénom »). La fonction doit permettre de trouver l’âge correspondant au prénom choisi. Par exemple pour le prénom « Paul », l’âge est de 40 ans.
La fonction RECHERCHEV:
=RECHERCHEV(G5;D5:E9;2;FAUX)
G5 : correspond au prénom recherché
D5:E9: correspond à la liste des prénoms
2 : pour ramener la valeur de la seconde colonne de la matrice, c’est à dire la colonne E (Âge)
FAUX: on cherche uniquement la valeur exacte. (dans le fichier, entre les lignes 20 à 35, vous trouverez un exemple d’utilisation de RECHERCHEV avec l’option à VRAI).
Nous pouvons voir une des limites citées plus haut, à savoir le faire d’insérer une colonne entre les colonnes D et E. Pour cela, cliquer sur le bouton « Insérer Colonne » en rouge (une macro ajoute une colonne automatiquement). Vous pouvez revenir en arrière en cliquant sur le bouton « Supprimer Colonne » en vert.
On peut donc voir que le fait d’ajouter une colonne donne une valeur fausse pour l’âge de Paul.
Une solution possible est l’utilisation des fonctions INDEX et EQUIV.
Fonctions INDEX / EQUIV:
Dans l’exemple, j’ai décomposé la fonction en 3 parties:
– INDEX
– Ligne
– Colonne.
La fonction INDEX ramène dans la plage « TabAges » (C5:E9) la ligne et la colonne souhaitée.
Pour trouver la bonne ligne et la bonne colonne, il faut utiliser la fonction EQUIV:
– Pour la ligne : =EQUIV(G5;Prénom;0)
avec G5, le prénom à chercher et « Prénom » la plage de tous les prénoms (D5:D9).
– Pour la colonne : =EQUIV(« Age »;Titres;0)
On cherche la colonne en cherchant le titre (« Age ») dans la plage des « Titres ».
Le chiffre 0 dans la fonction signifie que nous souhaitons une valeur exacte (comme le FAUX de la RECHERCHEV).
Et donc le fait d’insérer une colonne ne pose plus de problème, puisque nous recherchons la colonne en fonction du titre.
Lors d’un prochain article, je vous montrerai comment utiliser les fonctions INDEX / EQUIV pour faire des recherches sur plusieurs critères, ce qui peut être très pratique. Cela nous permettra également de réaliser un fichier EXCEL pour récupérer le contenu de tables SAP.
N’hésitez pas à poser vos questions si vous en avez.
Et puisque nous sommes le 31 décembre, je vous souhaite tous mes meilleurs voeux de bonheur pour cette nouvelle année.