Excel Mania

Recherche si sur Excel : syntaxe, exemples et astuces pratiques

Recherche si sur Excel : syntaxe, exemples et astuces pratiques

Recherche si sur Excel : syntaxe, exemples et astuces pratiques

Vous cherchez une valeur dans un tableau Excel et vous avez entendu parler de la fonction « Recherche si » ? Petite précision utile : dans Excel, la fonction dédiée aux recherches modernes s’appelle RECHERCHEX. Elle permet de retrouver une information dans une colonne ou une ligne, puis de renvoyer la donnée associée.

Plus souple que RECHERCHEV, plus lisible que le duo INDEX + EQUIV, RECHERCHEX est rapidement devenue un incontournable pour construire des fichiers fiables. Dans cet article, nous allons voir sa syntaxe, ses principaux arguments, des exemples concrets et quelques astuces qui font vraiment la différence.

À quoi sert la fonction RECHERCHEX ?

Imaginez un tableau contenant une liste de produits, leur référence, leur catégorie et leur prix. Vous saisissez une référence dans une cellule et vous souhaitez qu’Excel affiche automatiquement le prix correspondant.

C’est exactement le rôle de RECHERCHEX : elle cherche une valeur dans une plage, puis renvoie la valeur située sur la même ligne ou la même colonne dans une autre plage.

Par exemple, si la cellule H2 contient une référence produit, la formule suivante peut récupérer son prix :

=RECHERCHEX(H2;A2:A100;D2:D100)

Excel recherche le contenu de H2 dans la plage A2:A100, puis renvoie la valeur correspondante de D2:D100.

Pourquoi utiliser RECHERCHEX plutôt que RECHERCHEV ?

La syntaxe de RECHERCHEX

Voici la syntaxe complète de la fonction :

=RECHERCHEX(valeur_cherchée; tableau_recherche; tableau_renvoyé; [si_non_trouvé]; [mode_correspondance]; [mode_recherche])

Les trois premiers arguments sont essentiels. Les trois suivants sont facultatifs, mais ils permettent d’adapter la recherche à presque toutes les situations.

Les arguments entre crochets sont optionnels. Vous pouvez donc commencer simplement avec :

=RECHERCHEX(A2;E2:E100;F2:F100)

Cette formule cherche la valeur de A2 dans E2:E100 et renvoie la donnée correspondante dans F2:F100.

Un exemple simple avec une liste de produits

Supposons que votre tableau soit organisé ainsi :

Vous saisissez une référence en F2 et vous souhaitez afficher le nom du produit en G2.

=RECHERCHEX(F2;A2:A100;B2:B100)

Pour afficher la catégorie :

=RECHERCHEX(F2;A2:A100;C2:C100)

Et pour récupérer le prix :

=RECHERCHEX(F2;A2:A100;D2:D100)

La valeur recherchée et les plages utilisées doivent être cohérentes. Si vous cherchez une référence dans A2:A100, la plage renvoyée doit couvrir le même nombre de lignes, comme B2:B100 ou D2:D100.

Une plage de recherche composée de A2:A100 avec une plage de résultat allant de D2:D80 risque de provoquer une erreur ou un résultat inattendu. Excel est puissant, mais il n’aime pas beaucoup les tableaux qui ne sont pas alignés.

Afficher un message au lieu de l’erreur #N/A

Par défaut, RECHERCHEX affiche l’erreur #N/A lorsque la valeur recherchée n’existe pas. Ce comportement est logique, mais pas toujours très agréable dans un tableau destiné à être partagé.

Pour afficher un message personnalisé, utilisez le quatrième argument :

=RECHERCHEX(F2;A2:A100;D2:D100;"Produit introuvable")

Si la référence n’existe pas, Excel affichera « Produit introuvable » au lieu de #N/A.

Vous pouvez également renvoyer une cellule vide :

=RECHERCHEX(F2;A2:A100;D2:D100;"")

Ou afficher une information plus explicite :

=RECHERCHEX(F2;A2:A100;D2:D100;"Vérifiez la référence saisie")

Cette option est particulièrement utile dans les tableaux de bord, les modèles de devis ou les fichiers utilisés par plusieurs personnes. Un message compréhensible vaut mieux qu’un code d’erreur qui donne envie de fermer Excel et de partir faire du jardinage.

Comprendre les modes de correspondance

Le cinquième argument permet de choisir la façon dont Excel compare la valeur recherchée. Sa valeur par défaut est 0, c’est-à-dire une correspondance exacte.

=RECHERCHEX(F2;A2:A100;D2:D100; "Introuvable"; 0)

Les différentes options sont les suivantes :

Dans la plupart des recherches de références, de noms ou d’identifiants, conservez le mode 0. Il évite notamment qu’Excel vous renvoie une valeur approximative alors que vous attendiez une correspondance précise.

Faire une recherche approximative avec RECHERCHEX

La recherche approximative est pratique pour associer une valeur à une tranche. Prenons un tableau de commissions :

Si le chiffre d’affaires se trouve en H2, vous pouvez rechercher le taux correspondant avec :

=RECHERCHEX(H2;A2:A5;B2:B5;"";-1)

Avec le mode -1, Excel cherche une correspondance exacte. Si elle n’existe pas, il retient la valeur immédiatement inférieure.

Pour que cette recherche fonctionne correctement, la colonne contenant les seuils doit être triée dans l’ordre croissant. Dans le cas contraire, les résultats peuvent être incohérents.

Cette méthode peut servir pour les remises, les barèmes de salaire, les frais de livraison, les niveaux de risque ou encore les scores associés à une note.

Rechercher avec des caractères génériques

Le mode de correspondance 2 permet d’utiliser des caractères génériques :

Supposons que vous souhaitiez trouver le premier client dont le nom commence par « Dur ». Vous pouvez utiliser :

=RECHERCHEX("Dur*";A2:A100;B2:B100;"Aucun résultat";2)

Excel recherchera les valeurs commençant par « Dur », comme Durant, Duroy ou Durand.

Pour rechercher un code composé de trois caractères dont le deuxième est toujours A :

=RECHERCHEX("?A?";A2:A100;B2:B100;"Aucun résultat";2)

Les caractères génériques sont utiles lorsque les données comportent des variantes ou lorsque l’utilisateur ne connaît qu’une partie du texte.

Rechercher le dernier résultat trouvé

Par défaut, RECHERCHEX renvoie la première correspondance. Mais que faire lorsqu’une même référence apparaît plusieurs fois et que vous souhaitez récupérer la dernière ligne, par exemple le dernier prix enregistré ou le dernier statut d’une commande ?

Utilisez le sixième argument avec la valeur -1 :

=RECHERCHEX(F2;A2:A100;D2:D100;"Introuvable";0;-1)

Excel parcourt alors la plage de recherche de bas en haut et renvoie la dernière correspondance.

Cette option est très pratique dans un historique de ventes ou de suivi client. Vous pouvez, par exemple, récupérer le dernier commentaire associé à un dossier sans devoir trier manuellement le tableau.

Retourner plusieurs colonnes avec une seule formule

RECHERCHEX peut renvoyer plusieurs colonnes à la fois. Si vous recherchez une référence en F2 et souhaitez récupérer simultanément le nom, la catégorie et le prix, utilisez :

=RECHERCHEX(F2;A2:A100;B2:D100;"Introuvable")

La formule va « déborder » automatiquement dans les cellules situées à droite. Cette fonctionnalité repose sur les tableaux dynamiques disponibles dans les versions récentes d’Excel.

Veillez simplement à laisser les cellules de destination vides. Si une cellule bloque le déversement, Excel affichera l’erreur #PROPAGATION! ou son équivalent selon votre version.

Utiliser RECHERCHEX avec une recherche sur plusieurs critères

RECHERCHEX ne propose pas directement plusieurs critères dans un argument unique. Il est toutefois possible de combiner les critères grâce à une multiplication logique.

Supposons que :

Pour rechercher le montant correspondant au client indiqué en F2 et à l’année inscrite en G2 :

=RECHERCHEX(1;(A2:A100=F2)*(B2:B100=G2);C2:C100;"Introuvable")

Chaque condition renvoie VRAI ou FAUX. Excel les convertit ensuite en 1 ou 0. La multiplication permet d’identifier la ligne où les deux critères sont vrais en même temps.

Cette technique est très utile pour les rapports mensuels, les suivis de commandes ou les tableaux contenant plusieurs enregistrements pour une même personne.

Les erreurs fréquentes à éviter

Une formule RECHERCHEX peut sembler parfaite et pourtant ne rien renvoyer. Voici les causes les plus fréquentes :

Pour nettoyer un texte, vous pouvez utiliser la fonction SUPPRESPACE :

=RECHERCHEX(SUPPRESPACE(F2);A2:A100;D2:D100;"Introuvable")

Si le problème vient de caractères non imprimables, la fonction EPURAGE peut également être utile :

=RECHERCHEX(EPURAGE(SUPPRESPACE(F2));A2:A100;D2:D100;"Introuvable")

Que faire si RECHERCHEX n’est pas disponible ?

RECHERCHEX est proposée dans les versions récentes d’Excel, notamment Microsoft 365 et plusieurs éditions modernes. Sur une ancienne version, la fonction peut être inconnue.

Vous pouvez alors utiliser RECHERCHEV pour une recherche verticale simple :

=RECHERCHEV(F2;A2:D100;4;FAUX)

Le dernier argument FAUX impose une correspondance exacte. Attention toutefois : RECHERCHEV ne peut rechercher que dans la première colonne de la plage et renvoyer une colonne située à droite.

Autre solution, plus ancienne mais très flexible :

=INDEX(D2:D100;EQUIV(F2;A2:A100;0))

Le duo INDEX + EQUIV reste intéressant dans les fichiers destinés à fonctionner sur différentes versions d’Excel. Mais si RECHERCHEX est disponible, elle sera généralement plus simple à lire et à transmettre à un collègue.

Quelques bonnes pratiques pour des formules plus fiables

Avec un tableau nommé Produits, une formule peut devenir particulièrement lisible :

=RECHERCHEX(F2;Produits[Référence];Produits[Prix];"Produit introuvable")

Cette version explique presque d’elle-même ce que fait la formule. Six mois plus tard, vous serez heureux de ne pas avoir à déchiffrer une chaîne de références du type A2:A4789.

RECHERCHEX est donc la fonction à privilégier pour la plupart des recherches dans Excel. Commencez avec ses trois premiers arguments, ajoutez un message personnalisé, puis explorez progressivement les recherches approximatives, les caractères génériques et les critères multiples. Une fois adoptée, elle rend les tableaux plus propres, les formules plus robustes et les recherches beaucoup moins laborieuses.

Quitter la version mobile