Si vous travaillez souvent avec Excel, vous utilisez sans aucun doute les fonctions Vlookup (Recherchev) et Hlookup (Rechercheh) et probablement la fonction Index, combinée avec la fonction Match (Equiv). Mais utilisez-vous la fonction RECHERCHE dans Excel (Lookup)? Non? Pourtant, cette fonction pourrait vous être très utile dans certains contextes, comme celui illustré ci-bas.
Problématique pour illustrer l’apport de la fonction RECHERCHE dans Excel
Supposons que vous avez une table de commissions. Cette table vous informe des taux de commissions à verser à vos représentants des ventes. La problématique, c’est que les taux évoluent au fil du temps et ne sont pas les mêmes, d’un représentant à un autre et d’un client à un autre, tel qu’illustré ci-bas.
À partir de cette table des commissions, vous devez insérer une formule dans votre table des ventes, pour calculer le taux de commissions approprié, pour chacune des transactions de vente. Vous devez donc utiliser une formule qui fournira le bon taux de commission, selon le représentant, le client et la date de la transaction.
Fonction RECHERCHE dans Excel (LOOKUP)
Dans ce contexte particulier, vous pourriez utiliser la fonction suivante:
Interprétation de la fonction RECHERCHE
Concentrons-nous d’abord sur le deuxième paramètre de la fonction, soit le “lookup_vector”.
La formule divise 1 par une plage de données qui renvoie des valeurs True/False (Vrai/Faux):
- Dans notre formule, la fonction vérifie si les données du champs “Date” de la table “Commissions” sont plus petites ou égales à la date de la transaction de vente
- À la ligne 8 de la table de “Ventes”, ce vecteur renvoie True (Vrai) pour les 6 premières dates de la table des commissions et False (Faux) pour les 4 dernières
puis, la formule divise ensuite le résultat par une autre plage de données qui renvoie des valeurs True/False (Vrai/Faux):
- Dans notre formule, la fonction vérifie dans la plage de clients de la table “Commissions” les clients qui correspondent au client de la transaction
- À la ligne 8 de la table de “Ventes”, ce vecteur renvoie True (Vrai) pour les Client2 et False (Faux) pour les Client1
puis, la formule divise à nouveau par une autre plage de données qui renvoie des valeurs True/False (Vrai/Faux)
- Dans notre formule, la fonction vérifie dans la plage de représentants de la table “Commissions” les représentants qui correspondent au représentant de la transaction
- À la ligne 8 de la table de “Ventes”, ce vecteur renvoie True (Vrai) pour les Rep1 et False (Faux) pour les Rep2
Autrement dit, pour la 1ère ligne de transactions de vente, la table de commissions retournait les résultats suivants, avec une seule ligne comprenant 3 valeurs True (Vrai), soit celle avec le 11% de commission.
Mais à quoi servent les 2 autres paramètres de la fonction?
D’abord, concernant le 2ième paramètre, il faut comprendre que les résultats possibles sont 1 ou #DIV/0!. Dans notre exemple, une seule réponse renvoie un 1 et il s’agit de la ligne avec les 3 valeurs True (Vrai). Cette ligne représente donc le vecteur dans lequel on va chercher notre résultat.
Le 3ième paramètre nous indique simplement que dans ce vecteur de résultats, on va aller chercher la valeur “Taux” de commission.
Finalement, en utilisant le 2, comme “lookup value”, la formule va tenter de le faire correspondre avec la dernière valeur numérique de la plage de référence, i.e., la dernière ligne où les trois conditions sont vraies. On utilise ici le 2, mais ça pourrait être n’importe quelle valeur plus grande que 1. Évidemment, si l’équation ne peut être résolue, on obtiendra un #N/A.