ElyxAI

RECHERCHEH : La formule Excel pour rechercher des données en horizontal

Intermédiaire
=RECHERCHEH(valeur_cherchée; table_matrice; no_index_ligne; [valeur_proche])

La fonction RECHERCHEH est l'une des formules les plus puissantes d'Excel pour manipuler et extraire des données organisées horizontalement. Contrairement à RECHERCHEV qui parcourt les colonnes, RECHERCHEH recherche une valeur dans la première ligne d'un tableau et retourne une valeur dans la même colonne, mais à une ligne différente. Cette fonction est indispensable pour les professionnels travaillant avec des données transposées, des tableaux de bord dynamiques ou des structures de données horizontales. Que vous soyez analyste financier, gestionnaire de projet ou data analyst, RECHERCHEH vous permet de créer des formules robustes et maintenables. Elle fonctionne de manière fiable depuis Excel 2007 et reste compatible avec toutes les versions actuelles, y compris Excel 365. Comprendre ses paramètres et ses pièges courants vous fera gagner des heures de travail et vous permettra de construire des modèles Excel professionnels et évolutifs. Dans ce guide complet, nous explorerons la syntaxe détaillée, les cas d'usage réels, les erreurs courantes et les meilleures pratiques pour optimiser vos recherches horizontales.

Syntaxe et paramètres

La syntaxe complète de RECHERCHEH est : =RECHERCHEH(valeur_cherchée; table_matrice; no_index_ligne; [valeur_proche]). Le premier paramètre, valeur_cherchée, est la donnée que vous recherchez dans la première ligne du tableau. Ce doit être une valeur exacte ou une référence de cellule. Le second paramètre, table_matrice, est l'ensemble des données organisées horizontalement, incluant obligatoirement la ligne de recherche et les lignes de retour. Le paramètre no_index_ligne spécifie le numéro de la ligne à retourner (1 pour la première ligne du tableau, 2 pour la deuxième, etc.). C'est un nombre entier positif qui détermine quelle ligne sera utilisée pour extraire le résultat. Le dernier paramètre, valeur_proche, est optionnel et accepte FAUX (0) pour une correspondance exacte ou VRAI (1) pour une correspondance approximative. En pratique, utilisez toujours FAUX pour éviter les résultats imprévisibles. Un conseil professionnel : utilisez des références absolues ($A$1:$Z$10) pour la table_matrice afin de pouvoir copier votre formule sans modifier le tableau source. Assurez-vous également que le no_index_ligne ne dépasse pas le nombre de lignes du tableau, sinon vous obtiendrez une erreur #REF!.

lookup_value
Valeur à rechercher dans la première ligne
table_array
Tableau contenant les données
row_index_num
Numéro de ligne à retourner
range_lookup
FAUX pour correspondance exacte
Optionnel

Exemples pratiques

Recherche de ventes mensuelles par produit

=RECHERCHEH("Laptop";$A$1:$E$4;3;FAUX)

Cette formule recherche 'Laptop' dans la première ligne (A1:E1), puis retourne la valeur de la 3ème ligne (février). Le paramètre FAUX garantit une correspondance exacte du nom du produit.

Extraction de données de ressources humaines

=RECHERCHEH("Marie Dupont";$A$1:$Z$10;2;FAUX)

La formule localise 'Marie Dupont' dans la première ligne et retourne la valeur de la 2ème ligne (département). Cette approche est efficace pour les tableaux d'effectifs horizontaux.

Recherche dynamique avec référence de cellule

=RECHERCHEH(C1;$A$1:$H$8;5;FAUX)

En utilisant une référence de cellule (C1) au lieu d'une valeur fixe, la formule devient dynamique. Chaque modification de C1 met à jour automatiquement le résultat. Cela crée des interfaces Excel professionnelles et réactives.

Points clés à retenir

  • RECHERCHEH recherche horizontalement dans la première ligne et retourne une valeur d'une ligne spécifiée, idéale pour les données transposées.
  • Utilisez toujours FAUX pour valeur_proche afin d'obtenir une correspondance exacte et des résultats prévisibles.
  • Encapsulez RECHERCHEH dans IFERROR() pour gérer gracieusement les cas où la valeur n'est pas trouvée.
  • Combinez RECHERCHEH avec INDEX/MATCH ou XLOOKUP pour des recherches plus avancées et une meilleure flexibilité.
  • Utilisez des références absolues ($) et des plages nommées pour créer des formules maintenables et évolutives.

Astuces de pro

Utilisez COLUMN() pour rendre le no_index_ligne dynamique : =RECHERCHEH(A1;$B$1:$Z$10;ROW()-1;FAUX). Cela permet de copier la formule verticalement sans modification manuelle.

Impact : Gain de temps considérable lors de la création de formules répétitives et réduction des erreurs de saisie.

Combinez RECHERCHEH avec INDIRECT pour créer des recherches multi-feuilles : =RECHERCHEH(A1;INDIRECT("'"&B1&"'!$A$1:$Z$10");3;FAUX). Cela permet de rechercher dans différentes feuilles selon une variable.

Impact : Création de modèles Excel modulaires et évolutifs, idéaux pour les analyses multi-périodes ou multi-scénarios.

Encapsulez votre table_matrice dans une plage nommée (Formules > Gestionnaire de noms). Utilisez ensuite =RECHERCHEH(A1;MaPlageNommée;3;FAUX). Cela rend vos formules plus lisibles et plus faciles à maintenir.

Impact : Amélioration significative de la clarté du code Excel, facilitant la collaboration et la maintenance à long terme.

Pour les recherches sensibles à la casse, utilisez EXACT() combiné à MATCH() : =INDEX(table;MATCH(TRUE;EXACT(première_ligne;A1);0)). RECHERCHEH ne distingue pas la casse par défaut.

Impact : Permet des validations de données plus strictes, essentielles dans les domaines réglementés ou sensibles à la précision.

Combinaisons utiles

RECHERCHEH + IFERROR pour une gestion d'erreur robuste

=IFERROR(RECHERCHEH(A1;$B$1:$Z$10;3;FAUX);"Donnée non disponible")

Cette combinaison capture l'erreur #N/A si la valeur n'est pas trouvée et affiche un message personnalisé. Essentielle pour les tableaux de bord professionnels et les rapports automatisés.

RECHERCHEH + CONCATENATE pour une recherche multi-critères

=RECHERCHEH(CONCATENATE(A1;"-";B1);$C$1:$Z$15;4;FAUX)

Combinez plusieurs critères en une seule chaîne pour créer une clé de recherche unique. Utile pour les tableaux où l'identification requiert plusieurs paramètres (année-mois, catégorie-produit).

RECHERCHEH + IF imbriquée pour une logique conditionnelle

=RECHERCHEH(IF(C1="Ventes";"Q1_Ventes";"Q1_Coûts");$A$1:$Z$8;2;FAUX)

Modifiez dynamiquement la valeur cherchée selon une condition. Cela permet de créer des formules qui s'adaptent au contexte et offrent plus d'interactivité.

Erreurs courantes

#REF!

Cause : Le paramètre no_index_ligne dépasse le nombre de lignes du tableau_matrice. Par exemple, si votre tableau a 5 lignes et vous demandez la ligne 7.

Solution : Vérifiez que le no_index_ligne est inférieur ou égal au nombre total de lignes dans table_matrice. Utilisez ROWS() pour compter dynamiquement : =RECHERCHEH(valeur;table;MIN(no_index;ROWS(table));FAUX)

#VALUE!

Cause : Le paramètre no_index_ligne n'est pas un nombre entier, ou la valeur_cherchée n'est pas du type attendu (par exemple, une formule retournant une erreur).

Solution : Assurez-vous que no_index_ligne est un nombre positif entier. Encapsulez valeur_cherchée dans TRIM() ou TEXT() si elle provient d'une autre formule : =RECHERCHEH(TRIM(A1);table;3;FAUX)

#N/A

Cause : La valeur_cherchée n'existe pas dans la première ligne du tableau et valeur_proche est FAUX (correspondance exacte).

Solution : Vérifiez l'orthographe et la casse de la valeur cherchée. Utilisez IFERROR pour gérer gracieusement cette erreur : =IFERROR(RECHERCHEH(A1;$B$1:$Z$5;2;FAUX);"Non trouvé")

Checklist de dépannage

  • 1.Vérifiez que valeur_cherchée existe exactement dans la première ligne (même casse, pas d'espaces superflus). Utilisez TRIM() pour nettoyer les données.
  • 2.Confirmez que no_index_ligne est un nombre entier positif et ne dépasse pas le nombre de lignes du tableau_matrice.
  • 3.Assurez-vous que table_matrice inclut à la fois la ligne de recherche (première ligne) et la ligne de retour demandée.
  • 4.Vérifiez que valeur_proche est FAUX (ou 0) pour une correspondance exacte, sauf si vous recherchez délibérément une valeur approximative.
  • 5.Testez avec des références absolues ($A$1:$Z$10) plutôt que relatives pour éviter les erreurs lors de la copie de formules.
  • 6.Utilisez Ctrl+` pour afficher les formules et vérifier que les références sont correctes, particulièrement après un copier-coller.

Cas particuliers

La première ligne contient des nombres formatés en texte (ex: '2024' au lieu de 2024)

Comportement : RECHERCHEH peut ne pas trouver la correspondance si vous cherchez le nombre 2024 dans une première ligne contenant du texte '2024'.

Solution : Convertissez les deux côtés au même type : =RECHERCHEH(TEXT(A1;"0");$B$1:$Z$5;3;FAUX) ou utilisez MATCH avec EXACT pour plus de contrôle.

Ce problème est courant lors de l'importation de données depuis d'autres systèmes.

La table_matrice contient des lignes vides ou des valeurs NULL

Comportement : RECHERCHEH retourne la valeur de la ligne spécifiée même si elle est vide, ce qui peut créer des résultats confus ou des formules en cascade produisant du vide.

Solution : Nettoyez vos données avant d'utiliser RECHERCHEH. Utilisez IFERROR pour détecter les lignes vides : =IFERROR(IF(RECHERCHEH(A1;table;3;FAUX)="";"Vide";RECHERCHEH(A1;table;3;FAUX));"Erreur")

Considérez restructurer votre tableau pour supprimer les lignes vides.

Vous cherchez à rechercher dans un tableau dont la première ligne contient des doublons (ex: deux colonnes 'Janvier')

Comportement : RECHERCHEH retourne toujours la valeur de la première occurrence. Les autres colonnes 'Janvier' sont ignorées.

Solution : Renommez les colonnes pour les rendre uniques (ex: 'Janvier_2023', 'Janvier_2024') ou utilisez INDEX/MATCH avec des critères multiples pour plus de flexibilité.

La meilleure pratique est d'éviter les doublons dans la structure de données dès le départ.

Limitations

  • RECHERCHEH ne peut rechercher que dans la première ligne du tableau. Si votre critère de recherche se trouve ailleurs, vous devez restructurer les données ou utiliser INDEX/MATCH.
  • La fonction ne supporte pas les caractères génériques (* ou ?) pour les recherches partielles. Pour des correspondances floues, utilisez SUMPRODUCT avec SEARCH ou XLOOKUP en Excel 365.
  • Les performances se dégradent significativement avec des tableaux très larges (plus de 10 000 colonnes). Envisagez des alternatives comme les bases de données ou Power Query pour les mégadonnées.
  • RECHERCHEH retourne une seule valeur. Pour extraire plusieurs lignes ou créer un tableau de résultats, utilisez FILTER (Excel 365) ou créez plusieurs formules avec différents no_index_ligne.

Alternatives

Syntaxe plus intuitive, recherche bidirectionnelle, gestion native des erreurs, pas besoin de IFERROR. Plus performante sur de grandes données.

Quand : Idéale pour Excel 365 et versions récentes. Remplace avantageusement RECHERCHEH pour les nouveaux projets.

Flexibilité maximale, compatible avec toutes les versions Excel, permet des critères complexes et des recherches bidirectionnelles.

Quand : Utilisez cette combinaison pour des recherches avancées, des critères multiples ou quand vous avez besoin d'une compatibilité maximale.

Retourne plusieurs résultats, syntaxe moderne, idéale pour extraire des lignes complètes basées sur un critère.

Quand : Parfaite pour créer des tableaux dynamiques filtrés ou extraire plusieurs lignes correspondant à un critère.

Compatibilité

Excel

Depuis 2007

=RECHERCHEH(valeur_cherchée; table_matrice; no_index_ligne; [valeur_proche])

Google Sheets

Identique à Excel : =RECHERCHEH(valeur_cherchée; table_matrice; no_index_ligne; [valeur_proche])

Fonctionne de manière identique. Les paramètres nommés sont optionnels. Compatible avec ARRAYFORMULA pour des opérations en masse.

LibreOffice

=HLOOKUP(valeur_cherchée; table_matrice; no_index_ligne; [valeur_proche]) - Utilise HLOOKUP au lieu de RECHERCHEH

Questions fréquentes

Vous maîtrisez RECHERCHEH mais cherchez à automatiser vos analyses Excel? ElyxAI vous aide à générer des formules complexes et à optimiser vos modèles. Découvrez comment ElyxAI transforme votre productivité Excel avec l'IA.

Explorer Recherche et référence

Formules connexes