La fonction EQUIVX() permet de rechercher la position relative d'une valeur dans une plage. Elle est souvent utilisée en combinaison avec INDEX().
EQUIVX() est une version améliorée de EQUIV().
Contrairement à RECHERCHEV() ou à RECHERCHEX(), EQUIVX() retourne la position relative d'un élément dans une plage et non une valeur qui correspond à cet élément.
EQUIVX() demande au moins deux arguments :
Par exemple, pour connaître la position du code inscrit dans la cellule B8 par rapport à la plage A2:A6, entrez ceci : =EQUIVX(B8;A2:A6)
Dans cet exemple, EQUIVX() indique que la valeur BORDU est la 2e de la plage de recherche.
On voit que sa forme la plus simple, EQUIVX() s'utilise de la même façon que EQUIV(). Lorsqu'on utilise seulement les deux arguments obligatoires, il n'y aura aucune différence entre ces deux fonctions si la valeur recherchée est trouvée.
Par contre, si la valeur recherchée n'existe pas dans la plage de recherche, EQUIV() considèrera la valeur plus petite alors que EQUIVX() indiquera qu'il n'y a pas de correspondance.
Le comportement de la recherche peut être précisé avec deux arguments supplémentaires.
Par défaut, EQUIVX() effectue une correspondance exacte c'est-à-dire que la fonction indique que la valeur recherchée n'a pas été trouvée lorsqu'elle ne trouve pas exactement cette valeur dans la plage de recherche.
Le 3e argument permet de modifier ce comportement.
Le type de correspondance peut prendre une des valeurs suivantes :
Ici, j'ai laissé tomber l'exemple du code de produit puisqu'une recherche approximative donnerait des résultats erronés lorsque le code de produit n'est pas trouvé.
Plutôt, cet exemple utilise une recherche approximative pour trouver la position du rabais à appliquer selon la quantité d'articles achetés. Dans un tel contexte, il n'est pas nécessaire d'entrer la quantité exacte pour connaître le rabais.
=EQUIVX(B7;B2:B5;-1)
Dans cet exemple, puisque la valeur 145 n'est pas trouvée, EQUIVX() considère la cellule dont la valeur est plus petite que la valeur recherchée, soit 100.
Ici, on recherche la note en lettre à mettre au bulletin d'une étudiante ou d'un étudiant selon son résultat sur 100.
=EQUIVX(D17;C4:C15;1)
Dans cet exemple, puisque la valeur 83 n'est pas trouvée, EQUIVX() considére la cellule dont la valeur est plus grande que la valeur recherchée, soit 84, qui est en 9e position dans la plage de recherche.
Dans cet exemple, on recherche la position du premier article dont le code se termine par 24. Il se retrouve sur la 4e ligne de la plage.
Utile lorsque la valeur recherchée contient elle-même un astérisque, un point d'interrogation ou un tilde.
Il faut le faire suivre le tilde par * ? ou ~. Par exemple, avec VI~*X, EQUIVX() pourra retrouver la position d'un article dont le code est VI*X.
Par défaut, EQUIVX() effectue toujours sa recherche à partir du premier élément de la liste et il retourne la position de la première valeur rencontrée.
Le 4e argument, le mode de recherche, permet de changer ce comportement en précisant dans quel sens la recherche doit être effectuée.
Le mode de recherche peut prendre les valeurs suivantes :
La recherche binaire est beaucoup plus rapide. La différence du temps de traitement sera évidente si vous effectuez une recherche dans une plage qui contient des centaines de cellules.
▼Publicité