Menu

RECHERCHEH Excel : chercher sur une ligne (HLOOKUP)

=RECHERCHEH("Mar";A1:E3;2;FAUX) cherche Mar dans la première ligne de A1:E3 et renvoie la valeur de la deuxième ligne de la même colonne. Correspondance exacte et approximative, et quand RECHERCHEX est le meilleur choix.

Chaque feuille de cette page est interactive : modifiez un nombre ou une formule et elle se recalcule.

=RECHERCHEH("Mar";A1:E3;2;FAUX) cherche Mar dans la première ligne de A1:E3 et renvoie la valeur de la deuxième ligne de la même colonne. C'est RECHERCHEV couchée sur le côté, pour les tables dont les étiquettes courent en haut. RECHERCHEH s'appelle HLOOKUP dans un Excel anglais, le nom que montre le tableau ; vous pouvez aussi y taper les formules en français, avec des points-virgules.

Ventes d'un mois
B6
ABCDE
1MonthJanFebMarApr
2Sales4,2003,9004,8005,100
3Costs2,6002,5002,9003,000
4
5MonthMar
6Sales4,800
Cliquez sur une cellule pour voir sa formule. Modifiez un nombre ou une formule et la feuille se recalcule.Dans Excel en français : =RECHERCHEH(B5;A1:E3;2;FAUX)

B6 cherche Mar dans la ligne 1, le trouve dans la colonne D et renvoie la ligne 2 de cette colonne : 4,800. Choisissez Apr en B5 pour obtenir 5,100, ou remplacez le 2 de la formule par 3 pour les coûts.

Syntaxe de RECHERCHEH

=HLOOKUP(lookup_value, table_array, row_index_num, [range_lookup])
  • lookup_value (valeur_cherchée) : ce qu'il faut trouver dans la première ligne de la table.
  • table_array (tableau) : la table. RECHERCHEH ne cherche que dans sa ligne du haut.
  • row_index_num (no_index_lig) : la ligne à renvoyer, la ligne du haut comptant pour 1. Un nombre supérieur à la hauteur de la table donne #REF! ; 0 donne #VALEUR! (en anglais #VALUE!, comme l'affiche le tableau).
  • range_lookup (valeur_proche) : FAUX pour une correspondance exacte. VRAI ou rien pour une correspondance approximative sur une ligne triée.

La recherche ignore la casse (mar trouve Mar), et avec FAUX la valeur cherchée peut utiliser les caractères génériques * et ?. Une valeur absente de la première ligne renvoie #N/A.

Correspondance approximative sur une ligne

Avec VRAI, RECHERCHEH trouve le plus grand en-tête inférieur ou égal à la valeur cherchée. La première ligne doit être triée de gauche à droite par ordre croissant.

Frais d'expédition selon le poids
B5
ABCDE
1Weight from (kg)02510
2Cost$4.50$6.00$9.50$14.00
3
4Parcel (kg)7
5Cost$9.50
Cliquez sur une cellule pour voir sa formule. Modifiez un nombre ou une formule et la feuille se recalcule.Dans Excel en français : =RECHERCHEH(B4;B1:E2;2;VRAI)

7 kg n'est pas un en-tête. Le plus grand en-tête qui ne le dépasse pas est 5, donc B5 renvoie $9.50. Passez B4 à 1,5 pour $4.50 ou à 12 pour $14.00. En français, la formule s'écrit =RECHERCHEH(B4;B1:E2;2;VRAI). La table de la formule est B1:E2, pas A1:E2 : elle commence au premier poids, pour que l'étiquette texte de A1 ne fasse pas partie de la ligne triée.

RECHERCHEX sur une ligne

Dans Excel 2021 et Microsoft 365, RECHERCHEX (XLOOKUP en anglais) remplace RECHERCHEH. Elle prend la ligne où chercher et la ligne à renvoyer sous forme de deux plages : il n'y a pas de numéro de ligne à compter, et une plage de résultat haute de plusieurs lignes renvoie toute la colonne.

La même recherche avec RECHERCHEX
B7
ABCDE
1MonthJanFebMarApr
2Sales4,2003,9004,8005,100
3Costs2,6002,5002,9003,000
4Profit1,6001,4001,9002,100
5
6MonthFeb
7Figures3,900
82,500
91,400
Cliquez sur une cellule pour voir sa formule. Modifiez un nombre ou une formule et la feuille se recalcule.Dans Excel en français : =RECHERCHEX(B6;B1:E1;B2:E4)

Une seule formule en B7 propage les trois chiffres de Feb dans B7:B9 : 3,900, 2,500 et 1,400. Si B8 ou B9 contenait quelque chose, B7 afficherait #EPARS! (en anglais #SPILL!). La page RECHERCHEX présente ses autres options, comme un message si non trouvé et la dernière correspondance.

Retourner plutôt la table : TRANSPOSE

Parfois, la meilleure solution est une copie verticale de la table. =TRANSPOSE(A1:D3) renvoie les mêmes cellules en échangeant lignes et colonnes, et reste liée à l'original. RECHERCHEV, FILTRE et les graphiques fonctionnent ensuite dessus comme d'habitude.

Une copie verticale d'une table horizontale
A5
ABCD
1MonthJanFebMar
2Sales4,2003,9004,800
3Costs2,6002,5002,900
4
5MonthSalesCosts
6Jan4,2002,600
7Feb3,9002,500
8Mar4,8002,900
Cliquez sur une cellule pour voir sa formule. Modifiez un nombre ou une formule et la feuille se recalcule.Dans Excel en français : =TRANSPOSE(A1:D3)

A5 propage un bloc de 4 sur 3 : les mois sur le côté, Sales et Costs en haut. Passez les ventes de Feb en C2 à 4100 et la copie suit. Pour une copie ponctuelle sans formule, sélectionnez la table, copiez-la, puis utilisez Accueil > Coller > Collage spécial et cochez Transposé.

Exercice : les coûts d'un mois

Chiffres mensuels
B6
ABCDE
1MonthJanFebMarApr
2Sales4,2003,9004,8005,100
3Costs2,6002,5002,9003,000
4
5MonthApr
6Costs
Cliquez sur une cellule pour voir sa formule. Modifiez un nombre ou une formule et la feuille se recalcule.

À vous : En B6, utilisez RECHERCHEH (HLOOKUP) pour renvoyer les coûts du mois de B5.

Questions fréquentes

Quelle est la différence entre RECHERCHEV et RECHERCHEH ?

RECHERCHEV cherche vers le bas dans la première colonne d'une table et renvoie une valeur d'une colonne située à droite. RECHERCHEH cherche en travers de la première ligne et renvoie une valeur d'une ligne située en dessous. Les arguments sont les mêmes, avec un numéro de ligne à la place du numéro de colonne.

Qu'est-ce que le numéro de ligne dans RECHERCHEH ?

Le numéro de la ligne à renvoyer, compté à partir de la première ligne de la table, qui est la ligne 1. Dans =RECHERCHEH("Mar";A1:E3;3;FAUX), 3 désigne la troisième ligne de A1:E3. Un nombre supérieur à la hauteur de la table renvoie #REF!.

RECHERCHEX peut-elle remplacer RECHERCHEH ?

Oui. RECHERCHEX fonctionne dans les deux sens : =RECHERCHEX("Mar";B1:E1;B2:E2) cherche dans une ligne et renvoie une valeur d'une autre ligne. Elle demande Excel 2021 ou Microsoft 365.

Pourquoi RECHERCHEH renvoie-t-elle #N/A ?

La valeur cherchée n'est pas dans la première ligne de la table : une faute de frappe, une espace en trop, un nombre stocké sous forme de texte, ou une valeur qui se trouve dans une autre ligne. Avec VRAI comme dernier argument, une valeur plus petite que le premier en-tête renvoie aussi #N/A.

Illustration des langages de programmation de Coddy

Apprendre à coder avec Coddy

COMMENCER