Table des matières
Vous obtenez beaucoup d'erreurs #N/A dans vos feuilles de calcul et vous êtes curieux de savoir s'il existe un moyen d'afficher un texte personnalisé à la place ? La formule IFNA est la solution dont vous avez besoin.
Lorsqu'une formule Excel ne peut pas identifier ou trouver quelque chose, elle génère l'erreur #N/A. Pour attraper une telle erreur et la remplacer par un message convivial, vous pouvez utiliser la fonction IFNA. En d'autres termes, #N/A est la manière dont Excel indique que la valeur que vous recherchez n'est pas présente dans l'ensemble de données référencé. IFNA est votre manière de piéger et de traiter cette erreur.
Fonction IFNA dans Excel
La fonction IFNA d'Excel est destinée à détecter et à traiter les erreurs #N/A. Si l'évaluation d'une formule donne lieu à #N/A, IFNA détecte cette erreur et la remplace par une valeur personnalisée que vous spécifiez ; sinon, elle renvoie le résultat normal de la formule.
Syntaxe de l'IFNA
La syntaxe de la fonction IFNA est la suivante :
IFNA(valeur, valeur_if_na)Où :
Valeur (obligatoire) - la formule, la valeur ou la référence à vérifier pour une erreur #N/A.
Valeur_si_na (obligatoire) - la valeur à renvoyer si une erreur #N/A est détectée.
Notes d'utilisation
- La fonction IFNA ne traite que les #N/A sans supprimer les autres erreurs.
- Si le valeur L'argument est un formule matricielle IFNA renvoie un tableau de résultats, un par cellule, comme le montre cet exemple.
Disponibilité de l'IFNA
La fonction IFNA a été introduite dans Excel 2013 et est disponible dans toutes les versions ultérieures, notamment Excel 2016, Excel 2019, Excel 2021 et Microsoft 365.
Dans les versions antérieures, vous pouvez attraper les erreurs #N/A en utilisant les fonctions IF et ISNA ensemble.
Comment utiliser la fonction IFNA dans Excel
Pour utiliser efficacement IFNA dans Excel, suivez cette approche générique :
- Dans le premier argument ( valeur ), mettez une formule impactée par l'erreur #N/A.
- Dans le deuxième argument ( valeur_si_na ), saisissez le texte que vous souhaitez renvoyer au lieu de la notation d'erreur standard. Pour renvoyer une cellule vide lorsque rien n'est trouvé, fournissez une chaîne vide ('"").
Pour revenir texte personnalisé la formule générique est :
IFNA( formule (), " texte personnalisé ")Pour renvoyer un cellule blanche la formule générique est :
IFNA( formule (), "")Voyons comment cela fonctionne sur un exemple simple. Dans le tableau ci-dessous, supposons que vous vouliez savoir comment le score d'un étudiant donné se classe parmi les autres. Comme les données sont triées par l'ordre de priorité de l'étudiant, nous avons décidé de les classer. Score Et pour obtenir la position, vous pouvez utiliser la fonction MATCH dans sa forme la plus simple :
=MATCH(E1, A2:A10, 0)
Parce que la valeur de référence (Neal) n'est pas disponible dans le tableau de référence (A2:A10), une erreur #N/A se produit.
En rencontrant cette erreur, les utilisateurs inexpérimentés pourraient penser qu'il y a un problème avec la formule, et vous, en tant que créateur du classeur, recevrez beaucoup de questions. Pour éviter cela, vous pouvez indiquer explicitement que la formule est correcte, mais qu'elle ne peut pas trouver la valeur qu'on lui demande de chercher. Ainsi, vous immergez la formule MATCH dans le premier argument de IFNA et, dans le second argument, vous tapez votre formule personnaliséetexte, "Not found" dans notre cas :
=IFNA(MATCH(E1, A2:A10, 0), "Non trouvé")
Désormais, au lieu de la notation d'erreur standard, votre propre texte s'affiche dans une cellule, informant les utilisateurs que la valeur recherchée n'est pas présente dans l'ensemble de données :
Comment utiliser l'IFNA avec VLOOKUP
Le plus souvent, l'erreur #N/A se produit dans des fonctions qui recherchent quelque chose, comme VLOOKUP, HLOOKUP, LOOKUP et MATCH. Les exemples ci-dessous couvrent quelques cas d'utilisation typiques.
Exemple 1 : formule VLOOKUP IFNA de base
Pour éviter les erreurs #N/A qui se produisent lorsque VLOOKUP ne parvient pas à trouver une correspondance, vérifiez son résultat à l'aide de la fonction IFNA et spécifiez la valeur à afficher au lieu de l'erreur. La pratique courante consiste à envelopper la fonction IFNA autour de votre formule VLOOKUP existante en utilisant cette syntaxe :
IFNA(VLOOKUP(), " votre texte ")Dans notre tableau d'exemple, supposons que vous vouliez récupérer le score d'un étudiant particulier (E1). Pour cela, vous utilisez la formule classique VLOOKUP :
=VLOOKUP(E1, A2:B10, 2, FALSE)
Le problème est que Neal n'a pas passé l'examen, donc son nom ne figure pas dans la liste, et évidemment VLOOKUP ne trouve pas de correspondance.
Pour cacher l'erreur, nous enveloppons VLOOKUP dans IFNA comme ceci :
=IFNA(VLOOKUP(E1, A2:B10, 2, FALSE), "N'a pas passé l'examen")
Désormais, le résultat n'est plus aussi intimidant pour l'utilisateur et est beaucoup plus informatif :
Exemple 2 : IFNA VLOOKUP pour effectuer des recherches dans plusieurs feuilles.
La fonction IFNA s'avère également utile pour effectuer les opérations dites séquentiel ou enchaîné L'idée est d'imbriquer plusieurs formules IFNA(VLOOKUP(...)) différentes les unes dans les autres de cette manière :
IFNA(VLOOKUP(...), IFNA(VLOOKUP(...), IFNA(VLOOKUP(...), "Not found")))Si un VLOOKUP primaire ne trouve rien, sa fonction IFNA exécute le VLOOKUP suivant jusqu'à ce que la valeur souhaitée soit trouvée. Si toutes les vérifications échouent, la formule renvoie le texte spécifié.
Supposons que vous ayez les scores de différentes classes listés dans différentes feuilles (nommées Classe A , Classe B et Classe C Votre objectif est d'obtenir le score d'un élève particulier, dont le nom est entré dans la cellule B1 de votre feuille de calcul actuelle. Pour accomplir cette tâche, utilisez cette formule :
=IFNA(VLOOKUP(B1, 'Class A'!A2:B5, 2, FALSE), IFNA(VLOOKUP(B1, 'Class B'!A2:B5, 2, FALSE), IFNA(VLOOKUP(B1, 'Class C'!A2:B5, 2, FALSE), "Not found")))
La formule recherche séquentiellement le nom spécifié dans trois feuilles différentes, dans l'ordre où les VLOOKUP sont imbriqués, et affiche la première correspondance trouvée :
Exemple 3 : IFNA avec INDEX MATCH
De la même manière, IFNA peut détecter les erreurs #N/A générées par d'autres fonctions de consultation. À titre d'exemple, utilisons-le avec la formule INDEX MATCH :
=IFNA(INDEX(B2:B10, MATCH(E1, A2:A10, 0)), "Non trouvé")
L'essentiel de la formule est le même que dans tous les exemples précédents : INDEX MATCH effectue une recherche, et IFNA évalue le résultat et signale une erreur #N/A si la valeur référencée n'est pas trouvée.
L'IFNA renvoie des résultats multiples
Dans le cas où la fonction interne (c'est-à-dire la formule placée dans le champ valeur ) renvoie plusieurs valeurs, IFNA testera chaque valeur renvoyée individuellement et produira un tableau de résultats. Par exemple :
=IFNA(VLOOKUP(D2:D4, A2:B10, 2, FALSE), "Non trouvé")
Dans Excel Dynamic Array (Microsoft 365 et Excel 2021), une formule régulière dans la cellule la plus haute (E2) déverse automatiquement tous les résultats dans les cellules voisines (en termes d'Excel, cela s'appelle une plage de déversement).
Dans les versions pré-dynamiques (Excel 2019 et inférieur), un effet similaire peut être obtenu en utilisant une formule de tableau à plusieurs cellules, qui est complétée par le raccourci Ctrl + Shift + Enter.
Quelle est la différence entre IFNA et IFERROR ?
En fonction de la cause du problème, une formule Excel peut déclencher différentes erreurs telles que #N/A, #NAME, #VALUE, #REF, #DIV/0, #NUM, etc. La fonction IFERROR capture toutes ces erreurs alors que IFNA se limite uniquement à #N/A. Laquelle il vaut mieux choisir ? Cela dépend de la situation.
Si vous voulez supprimer tout type d'erreur Elle est particulièrement utile dans les calculs complexes, lorsqu'une formule comprend plusieurs fonctions susceptibles de générer des erreurs différentes.
Avec fonctions de consultation Dans ce cas, il est préférable d'utiliser l'IFNA, qui affiche un résultat personnalisé uniquement lorsqu'une valeur de référence est introuvable et ne masque pas les problèmes sous-jacents de la formule elle-même.
Pour illustrer la différence, reprenons notre formule IFNA VLOOKUP de base et mal orthographions "accidentellement" le nom de la fonction (VLOKUP au lieu de VLOOKUP).
=IFNA(VLOKUP(E1, A2:B10, 2, FALSE), "N'a pas passé l'examen")
IFNA ne supprime pas cette erreur. Vous pouvez donc clairement voir que quelque chose ne va pas avec l'un des noms de fonction :
Maintenant, voyons ce qui se passe si vous utilisez IFERROR :
=IFERROR(VLOKUP(E1, A2:B10, 2, FALSE), "N'a pas passé l'examen")
Hmm... il est indiqué qu'Olivia n'a pas passé l'examen, ce qui n'est pas vrai ! Cela est dû au fait que la fonction IFERROR piège l'erreur #NAME ? et renvoie le texte personnalisé à la place. Dans cette situation, non seulement elle renvoie des informations erronées mais elle masque également le problème de la formule.
Voilà comment utiliser la formule IFNA dans Excel. Je vous remercie de votre lecture et j'ai hâte de vous retrouver sur notre blog la semaine prochaine !
Téléchargements disponibles
Exemples de formules Excel IFNA (fichier .xlsx)