=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.
| A | B | C | D | E | |
|---|---|---|---|---|---|
| 1 | Month | Jan | Feb | Mar | Apr |
| 2 | Sales | 4,200 | 3,900 | 4,800 | 5,100 |
| 3 | Costs | 2,600 | 2,500 | 2,900 | 3,000 |
| 4 | |||||
| 5 | Month | Mar | |||
| 6 | Sales | 4,800 |
=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) :FAUXpour une correspondance exacte.VRAIou 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.
| A | B | C | D | E | |
|---|---|---|---|---|---|
| 1 | Weight from (kg) | 0 | 2 | 5 | 10 |
| 2 | Cost | $4.50 | $6.00 | $9.50 | $14.00 |
| 3 | |||||
| 4 | Parcel (kg) | 7 | |||
| 5 | Cost | $9.50 |
=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.
| A | B | C | D | E | |
|---|---|---|---|---|---|
| 1 | Month | Jan | Feb | Mar | Apr |
| 2 | Sales | 4,200 | 3,900 | 4,800 | 5,100 |
| 3 | Costs | 2,600 | 2,500 | 2,900 | 3,000 |
| 4 | Profit | 1,600 | 1,400 | 1,900 | 2,100 |
| 5 | |||||
| 6 | Month | Feb | |||
| 7 | Figures | 3,900 | |||
| 8 | 2,500 | ||||
| 9 | 1,400 |
=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.
| A | B | C | D | |
|---|---|---|---|---|
| 1 | Month | Jan | Feb | Mar |
| 2 | Sales | 4,200 | 3,900 | 4,800 |
| 3 | Costs | 2,600 | 2,500 | 2,900 |
| 4 | ||||
| 5 | Month | Sales | Costs | |
| 6 | Jan | 4,200 | 2,600 | |
| 7 | Feb | 3,900 | 2,500 | |
| 8 | Mar | 4,800 | 2,900 |
=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
| A | B | C | D | E | |
|---|---|---|---|---|---|
| 1 | Month | Jan | Feb | Mar | Apr |
| 2 | Sales | 4,200 | 3,900 | 4,800 | 5,100 |
| 3 | Costs | 2,600 | 2,500 | 2,900 | 3,000 |
| 4 | |||||
| 5 | Month | Apr | |||
| 6 | Costs |
À 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.