Cette rubrique décrit les raisons les plus courantes de RECHERCHEV pour un résultat erroné sur la fonction et fournit des suggestions pour utiliser INDEX et MATCH à la place.
Conseil : Reportez-vous également aux conseils de résolution des problèmes liés à la recherche de recherche de contenu virtuel qui présentent les raisons courantes de #NA problèmes dans un fichier PDF pratique. Vous pouvez partager le fichier PDF avec d’autres personnes ou l’imprimer pour consultation ultérieure.
Problème : La valeur de recherche ne figure pas dans la première colonne de l’argument table_matrice
Une contrainte de RECHERCHEV est de rechercher les valeurs uniquement dans la colonne la plus à gauche dans le tableau. Si votre valeur de recherche ne figure pas dans la première colonne du tableau, le message d’erreur #N/A apparaît à l’écran.
Dans le tableau suivant, nous voulons récupérer le nombre d’unités vendues pour le produit Chou kale.
L’erreur #N/A s’affiche, car la valeur de recherche « Kale » s’affiche dans la deuxième colonne (Produire) de l’argument table_array A2:C10. Dans ce cas, Excel le recherche dans la colonne A, et non dans la colonne B.
Solution : Vous pouvez essayer de résoudre ce problème en faisant référence à la colonne appropriée dans votre RECHERCHEV. Si cela n’est pas possible, essayez de déplacer vos colonnes. Cela peut également s’avérer difficile si vous disposez de feuilles de calcul vastes ou complexes dans lesquelles les valeurs de cellule sont les résultats d’autres calculs ou simplement parce que vous ne pouvez pas déplacer les colonnes pour des raisons de logique interne. La solution consiste à utiliser les fonctions INDEX et EQUIV ensemble pour rechercher une valeur dans une colonne, quel que soit son emplacement dans le tableau de recherche. Voir la section suivante.
Envisagez d’utiliser INDEX/MATCH à la place
INDEX et MATCH sont de bonnes options pour de nombreux cas où recherchev ne répond pas à vos besoins. Le principal avantage de l’INDEX/MATCH est que vous pouvez rechercher une valeur dans une colonne à n’importe quel emplacement de la table de recherche. INDEX retourne une valeur à partir d’une table/plage—spécifiée en fonction de sa position. La fonction INDEX renvoie une valeur à partir d’un tableau/une plage selon sa position, alors que la fonction EQUIV renvoie la position relative d’une valeur dans un tableau/une plage. Utilisez INDEX et MATCH ensemble dans une formule pour rechercher une valeur dans une table/un tableau en spécifiant la position relative de la valeur dans la table/le tableau.
Les fonctions INDEX/EQUIV présentent un certain nombre d’avantages au lieu de la fonction RECHERCHEV :
-
Avec les fonctions INDEX et EQUIV, la valeur de retour n’a pas besoin de se trouver dans la colonne de recherche Cela est différent de la fonction RECHERCHEV qui oblige la valeur de retour à figurer dans la plage spécifiée. Comme cela se produit-il ? Avec la fonction RECHERCHEV, vous devez connaître le numéro de la colonne qui contient la valeur de retour. Bien que cela ne semble pas difficile, cela peut s’avérer fastidieux lorsque vous avez un grand tableau et que vous devez compter le nombre de colonnes. De plus, si vous ajoutez/supprimez une colonne dans votre table, vous devez recompter et mettre à jour l’argument col_index_num. Avec les fonctions INDEX et EQUIV, aucun comptage n’est nécessaire car la colonne de recherche est différente de la colonne qui contient la valeur de retour.
-
Avec les fonctions INDEX et EQUIV, vous pouvez spécifier une ligne ou une colonne dans un tableau, voir les deux à la fois. Cela signifie que vous pouvez rechercher des valeurs horizontalement et verticalement.
-
INDEX et EQUIV permettent de rechercher des valeurs dans une colonne quelconque. Contrairement à RECHERCHEV qui recherche une valeur dans la première colonne d’un tableau, INDEX et EQUIV peuvent indifféremment rechercher votre valeur dans la première colonne, la dernière colonne ou toute autre colonne située dans cette plage.
-
INDEX et EQUIV permettent d’indiquer une référence dynamique à la colonne contenant la valeur de retour.Cela signifie que vous pouvez ajouter des colonnes à votre tableau sans interrompre les fonctions INDEX et MATCH. En revanche, RECHERCHEV ne fonctionne pas si vous devez ajouter une colonne au tableau, puisqu’il fait une référence statique au tableau.
-
INDEX et EQUIV offrent une flexibilité supérieure avec les correspondances.INDEX et EQUIV sont capables de trouver une occurrence exacte, ou une valeur qui est supérieure ou une valeur inférieure à la valeur de recherche. RECHERCHEV recherche uniquement une correspondance la plus proche d’une valeur (par défaut) ou une valeur exacte. RECHERCHEV suppose également par défaut que la première colonne de la matrice est triée par ordre alphabétique ; par exemple, si votre tableau n’est pas trié ainsi, RECHERCHEV renvoie la première correspondance la plus proche, qui peut être différente des données que vous recherchez.
Syntaxe
Pour créer une expression INDEX/EQUIV, vous devez utiliser l’argument matrice/référence de la fonction INDEX et y insérer la syntaxe d’EQUIV. Cette opération prend la forme suivante :
=INDEX(matrice ou référence, MATCH(valeur-cherchée,matrice_recherche,[type])
Utilisons INDEX/MATCH pour remplacer RECHERCHEV dans l’exemple ci-dessus. La syntaxe se présente comme suit :
=INDEX(C2:C10,EQUIV(B13,B2:B10,0))
Cela signifie ce qui suit :
=INDEX(renvoie une valeur de C2:C10, qui correspondra à Kale, qui se trouve quelque part dans le tableau B2:B10, dans lequel la valeur de retour est la première valeur correspondant à Kale))
La formule recherche la première valeur dans la plage C2:C10 qui correspond à Kale (en B7) et renvoie la valeur de la cellule C7 (100), c’est-à-dire, la première valeur qui correspond à Kale.
Problème : La correspondance exacte n’est pas trouvée.
Lorsque l’argument valeur_proche est FAUX et que RECHERCHEV ne parvient pas à trouver une correspondance exacte dans vos données, il renvoie #N/A.
Solution : Si vous êtes certain que les données pertinentes figurent dans votre feuille de calcul mais que RECHERCHEV ne parvient pas à les trouver, prenez le temps de vérifier que les cellules référencées ne comportent pas d’espaces masquées ou de caractères non imprimables. Assurez-vous également que les données des cellules figurent dans le format approprié. Par exemple, les cellules contenant des valeurs numériques doivent posséder le format Nombre, et non pas Texte.
Pensez également à utiliser les fonctions CLEAN ou TRIM pour nettoyer les données dans les cellules.
Problème : La valeur de recherche est inférieure à la plus petite valeur dans la matrice
Si l’argument valeur_proche est VRAI et que la valeur proche est inférieure à la plus petite valeur dans la matrice, vous obtiendrez #N/A. VRAI recherche une occurrence approximative dans la matrice et renvoie la valeur la plus proche inférieure à la valeur de recherche.
Dans l’exemple suivant, la valeur de recherche est 100 mais aucune valeur n’est inférieure à 100 dans la plageB2:C10, ce qui renvoie l’erreur.
Solution :
-
Corrigez la valeur de recherche.
-
Si vous ne pouvez pas modifier la valeur de recherche et que vous avez besoin d’une plus grande flexibilité avec les valeurs correspondantes, vous pouvez utiliser INDEX/EQUIV au lieu de RECHERCHEV – Voir la section ci-dessus dans cet article. INDEX/EQUIV permettent de rechercher des valeurs supérieures, inférieures ou égales à la valeur de recherche. Pour plus d’informations sur l’utilisation d’INDEX/MATCH à la place de RECHERCHEV, reportez-vous à la section précédente dans cette rubrique.
Problème : La colonne de recherche n’est pas triée dans l’ordre croissant
Si l’argument valeur_proche est VRAI et que l’une des colonnes de recherche n’est pas triée dans l’ordre croissant (de A à Z), vous obtiendrez #N/A.
Solution :
-
Modifiez la fonction RECHERCHEV afin de rechercher une équivalence exacte. Pour ce faire, définissez l’argument valeur_proche sur FAUX. Aucun tri n’est nécessaire pour FAUX.
-
Utilisez les fonctions INDEX/EQUIV pour rechercher une valeur dans un tableau non trié.
Problème : La valeur est un grand nombre à virgule flottante.
Si les cellules comportent des valeurs horaires ou un grand nombre de décimales, Excel renvoie l’erreur #N/A en raison de la précision de la virgule flottante. Les nombres à virgule flottante sont des nombres qui suivent une décimale. (Excel stocke les valeurs horaires sous forme de nombres à virgule flottante.) Excel ne peut pas stocker les nombres avec de très grandes décimales, aussi, pour que la fonction s’exécute correctement, les nombres à virgule flottante devront être arrondis à 5 décimales.
Solution : Raccourcissez les nombres en les arrondissant à la cinquième position décimale avec la fonction ARRONDI.
Vous avez besoin d’une aide supplémentaire ?
Vous pouvez toujours poser des questions à un expert de la Communauté technique Excel ou obtenir une assistance dans la Communauté de support.