Excel : RECHERCHEX, retrouver une information
À la fin de cette leçon, vous saurez faire chercher par Excel une information rangée dans une autre table : le tarif d'une cotisation à partir du type d'adhésion choisi, le budget prévu pour une catégorie de dépenses.
Vous souvenez-vous ?
Cherchez la réponse dans votre mémoire avant de l'afficher. C'est cet effort, même sans trouver, qui fait retenir.
Dans SOMME.SI.ENS, quelle plage écrit-on en premier ?
La plage à additionner. Viennent ensuite les paires « plage du critère ; critère » : =SOMME.SI.ENS(plage à additionner; plage critère 1; critère 1; …).
Vous allez recopier une formule vers le bas, et une de ses références ne doit pas bouger. Que faites-vous, et avec quelle touche ?
Vous la bloquez avec des signes $ : $B$1 est une référence absolue, elle ne se décale pas. La touche F4 pose les $ pendant la saisie de la formule.
Dans une colonne de nombres, l'un d'eux est aligné à gauche de sa cellule. Qu'est-ce que cela vous apprend ?
Excel le lit comme du texte, pas comme un nombre : il ne se calcule pas. Un nombre s'aligne à droite, un texte à gauche.
Un courriel pressant, qui semble venir de votre banque, vous demande d'agir tout de suite. Comment vérifiez-vous avant de faire quoi que ce soit ?
Par le contre-appel : vous vérifiez par un autre canal, à un numéro ou une adresse que vous connaissiez déjà, jamais ceux du message.
À quoi ça sert
La liste des adhérents de l'association dit que Fatima Garnier a choisi l'adhésion « Famille ». Le tarif, lui, est noté une seule fois, dans une petite table : 40 €. Même chose pour vos dépenses : la ligne dit « Transport », c'est la table des catégories qui dit le budget prévu. Recopier ces informations à la main, ligne après ligne, c'est long et c'est la porte ouverte aux erreurs. RECHERCHEX va les chercher pour vous, et les met à jour si la table change.
Comprendre
Trois questions, trois arguments
Pensez à un annuaire papier. Vous connaissez un nom, vous le cherchez dans la colonne des noms, puis vous lisez le numéro sur la même ligne. La fonction RECHERCHEX fait exactement cela. Elle attend trois arguments, séparés par des points-virgules :
=RECHERCHEX(valeur cherchée; plage de recherche; plage de résultat)
| Argument | La question à vous poser | Dans l'exemple ci-dessous |
|---|---|---|
| 1 Valeur cherchée | Qu'est-ce que je connais déjà ? | Le mot Famille, lu dans la liste des adhérents. |
| 2 Plage de recherche | Dans quelle colonne ce mot est-il rangé ? | Les types d'adhésion, en A2:A5. |
| 3 Plage de résultat | Dans quelle colonne lire la réponse ? | Les tarifs, en B2:B5. |
| A 2 | B 3 | C | |
|---|---|---|---|
| 1 | Adhésion | Tarif | Description |
| 2 | Individuelle | 25,00 | Une personne adulte |
| 3 | Famille 1 | 40,00 | Toutes les personnes d'un même foyer |
| 4 | Jeune | 12,00 | Moins de 25 ans |
| 5 | Soutien | 60,00 | Pour aider davantage l'association |
Deux règles à respecter. Les deux plages commencent et finissent aux mêmes lignes (ici 2 et 5). Et RECHERCHEX exige la valeur exacte : c'est son comportement par défaut. Elle ne vous rendra jamais « le tarif d'à côté ».Microsoft
#N/A : « je n'ai pas trouvé »
Quand la valeur cherchée n'existe pas dans la plage de recherche, la cellule affiche la valeur d'erreur #N/A.Microsoft Ce n'est pas une panne, c'est une information. Trois causes reviennent sans cesse :Microsoft
- une faute de frappe :
Famile, avec un seul l ; - un espace en trop, invisible, avant ou après le mot (vous apprendrez à le supprimer en leçon 37) ;
- un nombre stocké en texte : un numéro d'adhérent
21saisi comme un texte n'est pas égal au nombre 21.
Vous pouvez prévoir ce cas avec un quatrième argument, facultatif : le texte à afficher si rien n'est trouvé.
=RECHERCHEX(valeur cherchée; plage de recherche; plage de résultat; "si non trouvé")
Choisissez un message qui alerte, comme "Catégorie inconnue". Une ligne restée sans réponse doit se voir : elle fausserait vos totaux sans prévenir.
Avant de recopier : bloquez les plages
Vous écrirez la formule sur la première ligne de la liste, puis vous la recopierez sur les suivantes. La valeur cherchée doit suivre la ligne (F2, F3, F4…). La table des tarifs, elle, ne bouge pas : bloquez ses deux plages avec des $, comme en leçon 30. Sinon elles glissent d'une ligne à chaque recopie, les premières lignes de la table sortent de la plage, et des #N/A apparaissent sans raison apparente.
La table est souvent sur une autre feuille du classeur. Sa référence commence alors par le nom de la feuille, suivi d'un point d'exclamation : Tarifs!$A$2:$A$5. Si le nom contient un espace, Excel l'entoure d'apostrophes : 'Budget 2026'!$A$2:$A$9.Microsoft Vous n'avez pas à l'écrire : Excel le fait quand vous cliquez dans l'autre feuille pendant la saisie.
Dans un ancien classeur : lire une RECHERCHEV
RECHERCHEX n'existe pas dans Excel 2016 ni dans Excel 2019.Microsoft Les classeurs plus anciens utilisent sa devancière, RECHERCHEV. Vous n'avez pas à l'écrire, seulement à la lire :
=RECHERCHEV(F2;Tarifs!$A$2:$C$5;2;FAUX)
Lisez ainsi : « cherche F2 dans la première colonne de la plage A2:C5, et rends-moi ce qui se trouve dans la 2e colonne de cette plage ». Le dernier argument, FAUX, réclame la valeur exacte. S'il manque, RECHERCHEV se contente d'une valeur approchante et peut répondre faux sans prévenir.Microsoft Devant une RECHERCHEV sans FAUX, méfiez-vous de ses résultats.
À vous de jouer
Trois exercices dans le tableur d'entraînement, puis deux vrais classeurs. Pendant la saisie d'une formule, cliquez sur une cellule ou faites glisser sur une plage pour insérer sa référence.
Vous l'avez vu : le correcteur annonçait « B5 affiche 21 ; le résultat attendu est 21 ». Ce n'était pas une plaisanterie. À l'œil, rien ne distingue le texte « 21 » du nombre 21, sauf l'alignement. Pour Excel, ce sont deux valeurs différentes.
Sur votre ordinateur : le tarif de chaque cotisation
Le classeur des adhérents contient deux feuilles : Adhérents et Tarifs. Vous allez remplir la colonne « Cotisation ».
- Repartez d'un exemplaire neuf du classeur : cliquez sur adherents.xlsx, puis ouvrez le fichier téléchargé. Si un bandeau jaune, en haut, signale un mode protégé, cliquez sur son bouton pour autoriser la modification. la feuille Adhérents : 40 adhérents, de la ligne 2 à la ligne 41. Le type d'adhésion est en colonne F, « Adhésion » ; la colonne G, « Cotisation », est vide.
- En bas de la fenêtre, cliquez sur le nom de la feuille Tarifs. Observez-la, puis revenez sur Adhérents. 4 types d'adhésion, lignes 2 à 5 : les noms en colonne A, les tarifs en colonne B.
- Cliquez sur la cellule G2 et saisissez le début de la formule, sans valider :
=RECHERCHEX(F2;le début de la formule s'affiche dans la cellule G2 et dans la barre de formule. - Toujours sans valider, cliquez sur le nom de la feuille Tarifs. Faites glisser de A2 à A5, puis appuyez sur F4. la barre de formule affiche
=RECHERCHEX(F2;Tarifs!$A$2:$A$5. (Si F4 ne pose pas les $, saisissez-les au clavier.) - Saisissez un point-virgule. Faites glisser de B2 à B5, appuyez sur F4, saisissez la parenthèse fermante, puis validez avec Entrée. Excel revient sur la feuille Adhérents. G2 affiche 40,00 : Fatima Garnier a choisi l'adhésion Famille. La formule complète est
=RECHERCHEX(F2;Tarifs!$A$2:$A$5;Tarifs!$B$2:$B$5). - Cliquez sur G2, puis double-cliquez sur sa poignée de recopie, le petit carré de son coin inférieur droit. la colonne G se remplit jusqu'à la ligne 41, avec des 25,00, des 40,00, des 12,00 et des 60,00, sans aucun #N/A. En G41, pour Sophie Morin (Individuelle) : 25,00. (Si la recopie s'arrête avant la ligne 41, faites glisser la poignée jusqu'en bas.)
- Contrôlez le total : cliquez sur la lettre G, en haut de la colonne, pour la sélectionner en entier, et lisez la barre d'état, tout en bas de la fenêtre. une somme de 1 216,00 : le total des cotisations attendues cette année.
- Provoquez une erreur pour la reconnaître : en F2, remplacez
FamilleparCoupleet validez. G2 affiche #N/A : le mot Couple n'existe pas dans la table des tarifs. - Annulez avec Ctrl + Z, puis fermez ce classeur sans l'enregistrer. avant la fermeture, F2 affiche de nouveau Famille, et G2 affiche 40,00.
Sur votre ordinateur : le budget de chaque dépense
Même geste dans le classeur des dépenses, avec cette fois le quatrième argument. Sa seconde feuille, Catégories, donne pour chaque catégorie un budget mensuel et un type.
- Ouvrez un exemplaire neuf : cliquez sur depenses.xlsx, puis ouvrez le fichier téléchargé. Cliquez sur le nom de la feuille Catégories, observez-la, puis revenez sur Dépenses. 8 catégories, lignes 2 à 9 : les noms en colonne A, les budgets mensuels en colonne B, le type (Essentiel ou Plaisir) en colonne C.
- En G1, saisissez
Budget. En G2, construisez comme tout à l'heure la formule qui cherche la catégorie C2 dans la feuille Catégories (noms en A2:A9, budgets en B2:B9). Avant la parenthèse fermante, ajoutez le quatrième argument :;"Catégorie inconnue". Validez. G2 affiche 480 (ou 480,00) : le pain est une dépense d'alimentation, et le budget mensuel de l'alimentation est de 480 €. La formule est=RECHERCHEX(C2;Catégories!$A$2:$A$9;Catégories!$B$2:$B$9;"Catégorie inconnue"). - Recopiez G2 par double-clic sur sa poignée. la colonne G se remplit jusqu'à la ligne 61, sans aucun « Catégorie inconnue ». En G5, pour le loyer (Logement) : 850.
- En H1, saisissez
Type. En H2, écrivez la même recherche, mais en lisant la colonne C de la feuille Catégories, et sans quatrième argument. Recopiez-la. H2 affiche « Essentiel ». En H11, pour les places de cinéma (Loisirs) : « Plaisir ». La formule de H2 est=RECHERCHEX(C2;Catégories!$A$2:$A$9;Catégories!$C$2:$C$9). - Comparez les deux écritures devant une catégorie introuvable : en C2, remplacez
AlimentationparCadeaux, validez, regardez G2 et H2, puis annulez avec Ctrl + Z. G2 affichait « Catégorie inconnue », un message clair ; H2 affichait #N/A. Après l'annulation, C2 affiche de nouveau Alimentation.
Vous pouvez fermer ce classeur sans l'enregistrer : la leçon suivante repart du fichier d'origine.
Les pièges de la recherche
Corriger la formule alors que la donnée est fautive. Devant un #N/A, le réflexe du débutant est de réécrire la formule. Si elle fonctionne sur les autres lignes, elle est bonne. Regardez la valeur cherchée : comparez-la, caractère par caractère, à celle de la table. Vérifiez son alignement.
Cacher l'erreur au lieu de la traiter. Un quatrième argument vide ("") fait disparaître le #N/A… et le problème avec. Affichez toujours un message lisible, que vous pourrez filtrer.
Des plages de hauteurs différentes. A2:A9 pour chercher et B2:B8 pour répondre : Excel ne peut plus faire correspondre les lignes, et la formule échoue. Les deux plages vont toujours par paire, mêmes lignes de début et de fin.
Envoyer le classeur à quelqu'un qui a un Excel plus ancien. Dans Excel 2016 ou 2019, vos RECHERCHEX ne se calculeront pas. Dans le doute, envoyez un PDF.
Vérifiez vos acquis
Le type d'adhésion cherché est en F2. Dans la table des tarifs, les types sont en A2:A5, leurs descriptions en C2:C5. Quelle formule affiche la description ?
- =RECHERCHEX(F2;A2:A5;C2:C5)
- =RECHERCHEX(A2:A5;F2;C2:C5)
- =RECHERCHEX(F2;C2:C5;A2:A5)
L'ordre est toujours le même : ce que je connais (F2), la colonne où le chercher (les types d'adhésion), la colonne où lire la réponse (les descriptions).
Vous cherchez le mot Couple, qui n'existe pas dans la table des tarifs, avec une formule à trois arguments. Qu'affiche la cellule ?
- Le tarif voisin Famille
- La valeur d'erreur #N/A
- Une cellule entièrement vide
RECHERCHEX exige la valeur exacte : elle ne propose jamais un voisin. Sans quatrième argument, « introuvable » s'écrit #N/A.
Une recherche affiche #N/A sur une seule ligne, alors que la catégorie figure bien dans la table. Que vérifiez-vous en premier ?
- La largeur de la colonne
- Le format monétaire du résultat
- La saisie du mot cherché
#N/A veut dire « introuvable » : faute de frappe, espace en trop ou nombre stocké en texte. Une colonne trop étroite affiche des #####, pas #N/A.
Vous allez recopier votre RECHERCHEX sur 40 lignes. Que bloquez-vous avec des $ ?
- Les deux plages de la table
- La cellule de la valeur cherchée
- Les trois arguments de la formule
La table ne bouge pas : ses deux plages sont bloquées. La valeur cherchée, elle, doit changer à chaque ligne (F2, F3, F4…) : on la laisse libre.
Une catégorie n'est pas encore dans la table. Vous voulez lire « Catégorie inconnue » à la place de #N/A. Que faites-vous ?
- Vous élargissez la colonne du résultat
- Vous ajoutez un argument entre guillemets
- Vous supprimez la ligne en erreur
Le quatrième argument, entre guillemets, est le texte affiché quand rien n'est trouvé. Supprimer la ligne ferait disparaître une dépense.
Dans un ancien classeur, vous lisez =RECHERCHEV(F2;Tarifs!$A$2:$C$5;2;FAUX). Que désigne le 2 ?
- La deuxième ligne de la plage
- Les deux premiers caractères du mot
- La deuxième colonne de la plage
RECHERCHEV cherche dans la première colonne de la plage et rend la colonne dont on donne le numéro : ici la 2e, la colonne B. FAUX réclame la valeur exacte.
À retenir
=RECHERCHEX(valeur cherchée; plage de recherche; plage de résultat; "si non trouvé"): ce que je connais, où le chercher, où lire la réponse, quoi afficher sinon.#N/A= valeur introuvable : faute de frappe, espace en trop, nombre stocké en texte. On corrige la donnée, pas la formule.- Avant de recopier, on bloque les deux plages avec des
$(F4). - RECHERCHEX cherche la valeur exacte. Elle n'existe pas dans Excel 2016 ni 2019.
- RECHERCHEV, dans les anciens classeurs, se lit : valeur cherchée ; plage entière ; numéro de la colonne à rendre ; FAUX pour l'exact.
Fiche : Formules Excel essentielles. Leçon précédente : SOMME.SI.ENS, totaliser par catégorie.
Pour aller plus loin
La page officielle à lire : « Fonction RECHERCHEX » (Microsoft). Attention : sa ligne de syntaxe est affichée avec des virgules, à l'américaine. Dans un Excel en français, ce sont bien des points-virgules.
Devant une erreur tenace : « Corriger une erreur #N/A » (Microsoft) passe en revue toutes les causes, une par une.