Correction d’une erreur #N/A dans la fonction RECHERCHEV

Cette rubrique décrit les raisons les plus courantes pour lesquelles il n’est pas possible d’exécuter votre RECHERCHEV.

Conseil : Reportez-vous à Aide-mémoire : conseils de dépannage de RECHERCHEV qui décrit les raisons courantes d’erreur #N/A survenant avec la fonction RECHERCHEV (disponible dans un document PDF très pratique à utiliser). 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

L’une des plus grandes faiblesses de RECHERCHEV est de rechercher les valeurs uniquement dans la colonne la plus à gauche dans le tableau. Par conséquent, 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.

Erreur #NA dans la fonction RECHERCHEV : La valeur de recherche n’est pas dans la première colonne de la table matrice

L’erreur est due au fait que la valeur de recherche “Kale” figure dans la deuxième colonne (Produit) de l’argument table_matrice dans la plage A2:C10. Excel effectue la recherche dans la colonne A et non pas 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 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.

Utiliser INDEX/EQUIV plutôt que RECHERCHEV

INDEX et EQUIV peuvent être utilisées lorsque la fonction RECHERCHEV ne répond pas à vos besoins. Les fonctions INDEX/EQUIV vous donnent les moyens de rechercher une valeur dans une colonne dans n’importe quel emplacement du tableau de recherche. 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. À l’aide des fonctions INDEX et EQUIV utilisées ensemble dans une formule, vous pouvez rechercher une valeur dans un tableau/une matrice en spécifiant la position relative de la valeur.

Les fonctions INDEX/EQUIV présentent un certain nombre d’avantages par rapport à 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, contrairement à 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. Cette opération à priori aisée peut se compliquer lorsque vous devez compter les colonnes d’un tableau très étendu. En outre, si vous devez ajouter/supprimer une colonne dans votre tableau, vous devez effectuer un nouveau comptage pour mettre à jour l’argument num_index_col. 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. En d’autres termes, INDEX et MATCH restent opérationnelles même si vous ajoutez des colonnes à votre tableau. En revanche, RECHERCHEV renvoie une erreur si vous avez ajouté une colonne au tableau car elle s’appuie sur une référence statique.

  • INDEX et EQUIV offrent une flexibilité supérieure avec les correspondances. INDEX et EQUIV sont capables de trouver une occurrence exacte, une valeur 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. L’expression ressemble à ceci :

=INDEX(matrice ou référence, MATCH(valeur-cherchée,matrice_recherche,[type])

Nous allons utiliser INDEX/EQUIV pour remplacer RECHERCHEV dans l’exemple précédent. La syntaxe se présente comme suit :

=INDEX(C2:C10,EQUIV(B13,B2:B10,0))

Cela signifie ce qui suit :

=INDEX(je souhaite renvoyer la valeur de la plage C2:C10, qui correspondra à EQUIV(Kale, qui se trouve quelque part dans le tableau B2:B10, où la valeur renvoyée est la première valeur correspondant à Kale))

Les fonctions INDEX et EQUIV peuvent être utilisées à la place de la fonction RECHERCHEV

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, assurez-vous 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.

Pour nettoyer les données dans les cellules, utilisez la fonction EPURAGE ou SUPPRESPACE.

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.

Erreur N/A dans la fonction RECHERCHEV lorsque la valeur de recherche est inférieure à la plus petite valeur dans la matrice

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. 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. (Notez qu’Excel stocke les valeurs horaires sous forme de nombres à virgule flottante.) Excel ne peut pas stocker les nombres avec de 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 une question sur une fonction en particulier ?

Posez une question sur le forum de la communauté Excel

Contribuer à l’amélioration d’Excel

Avez-vous des suggestions sur la manière dont nous pouvons améliorer la prochaine version d’Excel ? Si c’est le cas, consultez les rubriques du forum User Voice sur Excel.

Voir aussi

Corriger une erreur #N/A

VLOOKUP : ne plus avoir d’erreur #N/A

HLOOKUP, VLOOKUP, LOOKUP renvoient des valeurs incorrectes dans Excel

L’arithmétique en virgule flottante peut fournir des résultats incorrects dans Excel

Aide-mémoire : actualisateur RECHERCHEV

Fonction RECHERCHEV

Vue d’ensemble des formules dans Excel

Comment éviter les formules incorrectes

Corriger les erreurs dans les formules à l’aide de la vérification des erreurs

Fonctions Excel (par ordre alphabétique)

Fonctions Excel (par catégorie)

Développez vos compétences
Découvrez des formations
Accédez aux nouvelles fonctionnalités en avant-première
Rejoignez le programme Office Insider

Ces informations vous ont-elles été utiles ?

Nous vous remercions pour vos commentaires.

Merci pour vos commentaires. Il serait vraisemblablement utile pour vous de contacter l’un de nos agents du support Office.

×