Publié : 19 mars 2008, 22:09
par DZARDEN
RECHERCHEV(valeur_cherchée;table_matrice;no_index_col;valeur_proche)
valeur_cherchée La valeur à chercher dans la première colonne de la matrice (matrice : permet de créer des formules uniques permettant d'obtenir plusieurs résultats et qui agissent sur un groupe d'arguments répartis dans des lignes et des colonnes. Une plage matricielle partage une même formule tandis qu'une constante matricielle est un groupe de constantes qui sert d'argument.) du tableau. valeur_cherchée peut être une valeur ou une référence. Si la valeur de l'argument valeur_cherchée est inférieure à la plus petite valeur contenue dans la première colonne de l'argument table_matrice, la fonction RECHERCHEV renvoie la valeur d'erreur #N/A.
table_matrice Au moins deux colonnes de données. Utilisez une référence à une plage ou un nom de plage. C'est sur les valeurs de la première colonne de table_matrice que porte valeur_cherchée. Ces valeurs peuvent être du texte, des nombres ou des valeurs logiques. La fonction ne fait pas de distinction entre les majuscules et les minuscules.
no_index_col est le numéro de la colonne de l'argument table_matrice dont la valeur correspondante doit être renvoyée. Si l'argument no_index_col est égal à 1, la fonction renvoie la valeur dans la première colonne de l'argument table_matrice ; si l'argument no_index_col est égal à 2, la valeur est renvoyée dans la deuxième colonne de l'argument table_matrice, et ainsi de suite. Si l'argument no_index_col est :
inférieur à 1, RECHERCHEV renvoie la valeur d'erreur #VALUE! ;
supérieur au nombre de colonnes dans table_matrice, RECHERCHEV renvoie la valeur d'erreur #REF!.
valeur_proche représente une valeur logique indiquant si vous souhaitez que la fonction RECHERCHEV recherche une valeur exacte ou voisine de celle que vous avez spécifiée.
Si cet argument est VRAI ou omis, une donnée exacte ou proche est renvoyée. Si aucune valeur exacte n'est trouvée, la valeur immédiatement inférieure à valeur_cherchée est renvoyée.
Les valeurs de la première colonne de table_matrice doivent être classées en ordre croissant ; sans cela, il se peut que RECHRCHEV ne renvoie pas la bonne valeur. Pour plus d'informations, consultez la rubrique Trier des données.
Si cet argument est FAUX, RECHERCHEH recherche exclusivement une correspondance exacte. Dans ce cas, il n'est pas indispensable que les valeurs de la première colonne de table_matrice soient triées. Si plusieurs valeurs de la première colonne de table_matrice correspondent à valeur_cherchée, c'est la première valeur trouvée qui est utilisée. Si aucune valeur ne correspond, la valeur d'erreur #N/A est renvoyée.
Notes
Si vous cherchez des valeurs textuelles dans la première colonne de table_matrice, vérifiez que cette colonne est exempte de tout espace d'en-tête, espace de fin, caractère non imprimable et que vous ne remarquez aucune utilisation incohérente des guillemets ou apostrophes droits ( ' oo " ) et courbes ( ' ou “). Si c'est le cas, il se peut que RECHERCHEV renvoie des valeurs incorrectes ou inattendues. Pour plus d'informations, consultez les rubriques EPURAGE et SUPPRESPACE.
Si vous cherchez un nombre iou une date, vérifiez que les données de la première colonne de table_matrice ne sont pas enregistrées comme des valeurs texte. Si c'est le cas, il se peut que RECHERCHEV renvoie des valeurs incorrectes ou inattendues. Pour plus d'informations, consultez la rubrique Pour convertir les nombres stockés en tant que texte en nombres.
Si l'argument valeur_proche est égal à FAUX et que l'argument valeur_cherchée est texte, vous pouvez utiliser les caractères génériques point d'interrogation (?) et astérisque (*) dans valeur_cherchée. Le point d'interrogation correspond à un caractère quelconque et l'astérisque correspond à une séquence de caractères quelconque. Si vous voulez trouver réellement un point d'interrogation ou un astérisque, tapez un tilde (~) devant ce caractère.
Exemple 1
L'exemple sera plus compréhensible si vous le copiez dans une feuille de calcul vide.
Comment copier un exemple
Créez un classeur ou une feuille de calcul vide.
Sélectionnez l'exemple de la rubrique d'aide.
Remarque Ne sélectionnez pas les en-têtes des lignes ou des colonnes.
Sélection d'un exemple de l'aide
Appuyez sur CTRL+C.
Dans la feuille de calcul, sélectionnez la cellule A1 et appuyez sur CTRL+V.
Pour passer de l'affichage des résultats à celui des formules permettant de renvoyer les résultats, appuyez sur CTRL+` (accent grave), ou sous l'onglet Formules, dans le groupe Audit de formules, cliquez sur le bouton Afficher les formules.
Cet exemple indique comment rechercher dans la colonne Densité d'un tableau contenant des propriétés atmosphériques pour trouver des valeurs correspondantes dans les colonnes Viscosité et Température (valeurs pour un air à 0°C au niveau de la mer, ou 1 atmosphère).
1
2
3
4
5
6
7
8
9
10
A B C
Densité Viscosité Température
0,457 3,55 500
0,525 3,25 400
0,616 2,93 300
0,675 2,75 250
0,746 2,57 200
0,835 2,38 150
0,946 2,17 100
1,09 1,95 50
1,29 1,71 0
Formule Description (résultat)
=RECHERCHEV(1;A2:C10;2) Recherche, en correspondance proche, la valeur 1 dans la colonne A, trouve la valeur immédiatement inférieure ou égale à 1 dans la colonne A (0,946), puis renvoie la valeur de la même ligne dans la colonne B (2,17).
=RECHERCHEV(1;A2:C10;3;VRAI) Recherche, en correspondance proche, la valeur 1 dans la colonne A, trouve la valeur immédiatement inférieure ou égale à 1 dans la colonne A (0,946), puis renvoie la valeur de la même ligne dans la colonne C (100).
=RECHERCHEV(0,7;A2:C10;3;FAUX) Recherche, en correspondance exacte, la valeur 0,7 dans la colonne A. Étant donné que la colonne A ne contient aucune correspondance exacte, une erreur est renvoyée (#N/A).
=RECHERCHEV(0,1;A2:C10;2;VRAI) Recherche, en correspondance proche, la valeur 0,1 dans la colonne A. Étant donné que 0,1 est une valeur inférieure à la valeur la plus petite de la colonne A, une erreur est renvoyée (#N/A).
=RECHERCHEV(2;A2:C10;2;VRAI) Recherche, en correspondance proche, la valeur 2 dans la colonne A, trouve la valeur immédiatement inférieure ou égale à 2 dans la colonne A (1,29), puis renvoie la valeur de la même ligne dans la colonne B (1,71).
Exemple 2
L'exemple sera plus compréhensible si vous le copiez dans une feuille de calcul vide.
Comment copier un exemple
Créez un classeur ou une feuille de calcul vide.
Sélectionnez l'exemple de la rubrique d'aide.
Remarque Ne sélectionnez pas les en-têtes des lignes ou des colonnes.
Sélection d'un exemple de l'aide
Appuyez sur CTRL+C.
Dans la feuille de calcul, sélectionnez la cellule A1 et appuyez sur CTRL+V.
Pour passer de l'affichage des résultats à celui des formules permettant de renvoyer les résultats, appuyez sur CTRL+` (accent grave), ou sous l'onglet Formules, dans le groupe Audit de formules, cliquez sur le bouton Afficher les formules.
Cet exemple indique comment rechercher dans la colonne Réf. produit d'un tableau contenant des produits pour bébé et fait correspondre le résultat de la recherche aux valeurs des colonnes Coût et Marge pour calculer les conditions de test et de prix.
1
2
3
4
5
6
A B C D
Réf. produit Produit Coût Marge
ST-340 Poussette 145,67 € 30 %
BI-567 Biberon 3,56 € 40 %
DI-328 Couches 21,45 € 35 %
WI-989 Lingettes 5,12 € 40 %
AS-469 Aspirateur nasal 2,56 € 45 %
Formule Description (résultat)
= RECHERCHEV("DI-328", A2:D6, 3, FAUX) * (1 + RECHERCHEV("DI-328", A2:D6, 4, FAUX)) Calcule le prix de vente des couches en ajoutant le pourcentage de marge au coût (28,96 €).
= RECHERCHEV("WI-989", A2:D6, 3, FAUX) * (1 + RECHERCHEV("WI-989", A2:D6, 4, FAUX)) Calcule le prix de vente des lingettes en soustrayant une remise spéciale du prix de vente (5,73 €).
= SI(RECHERCHEV(A2, A2:D6, 3, FAUX) >= 20, "La marge est de " & 100 * RECHERCHEV(A2, A2:D6, 4, FAUX) &" %", "Le coût est inférieur à 20,00 €") Si le coût d'un produit est supérieur ou égal à 20,00 €, affiche la chaîne « La marge est de nn % » ; dans le cas contraire, affiche la chaîne « Le coût est inférieur à 20,00 € » (la marge est de 30 %).
= SI(RECHERCHEV(A3, A2:D6, 3, FAUX) >= 20, "La marge est de " & 100 * RECHERCHEV(A3, A2:D6, 4, FAUX) &" %", "Le coût est de " & RECHERCHEV(A3, A2:D6, 3, FAUX)) & " €" Si le coût d'un produit est supérieur ou égal à 20,00 €, affiche la chaîne « La marge est de nn % » ; dans le cas contraire, affiche la chaîne « Le coût est de n,nn € » (le coût est de 3,56 €).
Exemple 3
L'exemple sera plus compréhensible si vous le copiez dans une feuille de calcul vide.
Comment copier un exemple
Créez un classeur ou une feuille de calcul vide.
Sélectionnez l'exemple de la rubrique d'aide.
Remarque Ne sélectionnez pas les en-têtes des lignes ou des colonnes.
Sélection d'un exemple de l'aide
Appuyez sur CTRL+C.
Dans la feuille de calcul, sélectionnez la cellule A1 et appuyez sur CTRL+V.
Pour passer de l'affichage des résultats à celui des formules permettant de renvoyer les résultats, appuyez sur CTRL+` (accent grave), ou sous l'onglet Formules, dans le groupe Audit de formules, cliquez sur le bouton Afficher les formules.
Cet exemple indique comment rechercher dans la colonne ID d'un tableau répertoriant des employés et comment trouver des valeurs correspondantes dans d'autres colonnes pour calculer les âges de ces employés et tester les conditions d'erreur.
1
2
3
4
5
6
7
A B C D E
ID Nom Prénom Fonction Date de naissance
1 Bartoli Laura Rep. commerciale 8/12/1968
2 Guyot Bernard V.P. Ventes 19/2/1952
3 Leverling Janet Rep. commerciale 30/8/1963
4 Peacock Margaret Rep. commerciale 19/9/1958
5 Buchanan Steven Directeur commercial 4/3/1955
6 Suyama Michael Rep. commercial 2/7/1963
Formule Description (résultat)
=ENT(FRACTION.ANNEE(DATE(2004,6,30), RECHERCHEV(5,A2:E7,5, FAUX), 1)) Sur l'année fiscale 2004, trouve l'âge de l'employé dont l'ID est 5. Utilise la fonction FRACTION.ANNEE pour soustraire la date de naissance de la date de fin de l'année fiscale et affiche le résultat sous forme de nombre entier grâce à la fonction ENT (49).
=SI(ESTNA(RECHERCHEV(5,A2:E7,2,FAUX)) = VRAI, "Employé introuvable", RECHERCHEV(5,A2:E7,2,FAUX)) S'il existe un employé dont l'ID est 5, affiche le nom de cet employé ; dans le cas contraire, affiche le message « Employé introuvable » (Buchanan).
La fonction ESTNA renvoie la valeur VRAI lorsque la fonction RECHERCHEV renvoie la valeur d'erreur #NA.
=SI(ESTNA(RECHERCHEV(15,A3:E8,2,FAUX)) = VRAI, "Employé introuvable", RECHERCHEV(15,A3:E8,2,FAUX)) S'il existe un employé dont l'ID est 15, affiche le nom de cet employé ; dans le cas contraire, affiche le message « Employé introuvable » (Employé introuvable).
La fonction ESTNA renvoie la valeur VRAI lorsque la fonction RECHERCHEV renvoie la valeur d'erreur #NA.
=RECHERCHEV(4,A2:E7,3,FAUX) & " " & RECHERCHEV(4,A2:E7,2,RECHERCHEV) & " est " & RECHERCHEV(4,A2:E7,4,FAUX) & "." Pour l'employé dont l'ID est 4, associe les valeurs des trois cellules pour former une phrase complète (Margaret Peacock est Conseillère commerciale).