Cette rubrique décrit les raisons les plus courantes pour lesquelles RECHERCHEV est erroné à un résultat de la fonction et fournit des suggestions d’utilisation des fonctions INDEX et MATCH à la place.

Conseil : Consultez également l’aide-mémoire : conseils de dépannage pour RECHERCHEV qui présentent les raisons courantes pour lesquelles vous pouvez #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

L’une des contraintes de la fonction RECHERCHEV est qu’elle peut uniquement rechercher des valeurs dans la colonne la plus à gauche dans le tableau. Si votre valeur de recherche ne se trouve pas dans la première colonne de la matrice, vous verrez l’erreur #N/A.

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

La #N/A entraîne l’erreur, car la valeur de recherche « Kale » apparaît dans la deuxième colonne (Produit) de l’argument table_array A2:C10. Dans ce cas, Excel recherche dans la colonne A et non dans la colonne B.

Solution: vous pouvez essayer de résoudre ce problème en ajustant votre rechercheV pour faire référence à la colonne appropriée. Si ce n’est pas possible, essayez de déplacer vos colonnes. Cela peut également être très impraticable, si vous avez des feuilles de calcul de grande taille ou complexes où les valeurs de cellules sont le résultat d’autres calculs, ou peut-être qu’il existe d’autres raisons logiques pour lesquelles vous ne pouvez simplement pas déplacer les colonnes. La solution consiste à utiliser une combinaison des fonctions INDEX et MATCH, qui peut rechercher une valeur dans une colonne quel que soit son emplacement dans la table de recherche. Voir la section suivante.

Envisagez d’utiliser INDEX/MATCH à la place

INDEX et MATCH sont de bonnes options dans de nombreux cas où RECHERCHEV ne répond pas à vos besoins. Index/MATCH vous permet de rechercher une valeur dans une colonne dans n’importe quel emplacement de la table de recherche. La fonction INDEX renvoie une valeur à partir d’une table/plage spécifiée, en fonction de sa position. La fonction MATCH renvoie la position relative d’une valeur dans un tableau/une plage. Utilisez les fonctions INDEX et MATCH ensemble dans une formule pour rechercher une valeur dans un tableau/une matrice en spécifiant la position relative de la valeur dans la table/matrice.

Index/MATCH peut être très avantageux à la place de la technologie RECHERCHEV :

  • Avec les colonnes INDEX et MATCH, la valeur de retour ne doit pas être dans la même colonne que la colonne de recherche. Cette valeur est différente de la rechercheV, dans laquelle la valeur de retour doit se trouver 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 cette opération ne semble pas compliquée, il peut être laborieux lorsque vous avez un tableau de grande taille et devez compter le nombre de colonnes. Par ailleurs, si vous ajoutez/supprimez une colonne dans votre tableau, vous devez actualiser et mettre à jour col_index_num argument. 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 colonnes INDEX et MATCH, vous pouvez spécifier une ligne ou une colonne dans un tableau, ou les deux. 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 (dans laquelle vous pouvez uniquement rechercher une valeur dans la première colonne d’un tableau), INDEX et MATCH fonctionnent si votre valeur de recherche se trouve dans la première colonne, la dernière colonne ou n’importe où entre les deux.

  • INDEX et MATCH offrent la possibilité d’effectuer une référence dynamique à la colonne qui contient la valeur de retour. Cela signifie que vous pouvez ajouter des colonnes à votre tableau sans rompre les valeurs INDEX et MATCH. En revanche, RECHERCHEV fait une pause si vous avez besoin d’ajouter une colonne au tableau, car elle fait une référence statique au tableau.

  • INDEX et MATCH offrent plus de flexibilité avec les correspondances. INDEX et MATCH peuvent rechercher une correspondance exacte, ou une valeur supérieure ou 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 la syntaxe des fonctions INDEX/MATCH, vous devez utiliser l’argument matrice/référence de la fonction INDEX et y imbrier la syntaxe d’MATCH. Cette formule se base sur le formulaire :

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

Nous allons utiliser 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(renvoyer une valeur de C2:C10, qui correspondra à MATCH(Kale, qui se trouve quelque part dans le tableau B2:B10, dans lequel la valeur de retour 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 range_lookup argument est FAUX et que RECHERCHEV ne trouve pas de correspondance exacte dans vos données, il renvoie l’erreur #N/A.

Solution: si vous êtes certain que les données pertinentes existent dans votre feuille de calcul et que RECHERCHEV ne les trouve pas, prenez le temps de vérifier que les cellules référencés ne sont pas masquées ni caractères non imprimables. Assurez-vous également que les cellules suivent le type de données correct. Par exemple, les cellules avec des nombres doivent être au format Nombreet non Texte.

Vous pouvez également utiliser la fonction 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 range_lookup est VRAI et que la valeur de recherche est plus petite que la plus petite valeur dans la matrice, vous verrez l’erreur #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/MATCH au lieu de RECHERCHEV. Consultez 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 range_lookup est vrai et qu’une de vos colonnes de recherche n’est pas triée dans l’ordre croissant (A-Z), vous verrez l’erreur #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 les valeurs de temps sous forme de nombres à flottant.) Excel ne peut pas stocker les nombres avec de grandes virgules flottantes, aussi, pour que la fonction fonctionne 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 consulter un expert de la communauté technique Excel ou obtenir une assistance dans la communauté Answers.

Voir aussi

Besoin d’aide ?

Développez vos compétences
Découvrez des formations
Accédez aux nouvelles fonctionnalités en avant-première
Rejoindre Microsoft Office insiders

Ces informations vous ont-elles été utiles ?

Dans quelle mesure êtes-vous satisfait(e) de la qualité de la langue ?
Qu’est-ce qui a affecté votre expérience ?

Nous vous remercions de vos commentaires.

×