Aller au contenu principal

Qu'est-ce que la fonction NON ?

Définition
La fonction NON inverse une valeur logique : elle retourne FAUX si l'argument est VRAI, et VRAI si l'argument est FAUX. Elle n'accepte qu'un seul paramètre.

NON (NOT en anglais) te sert pour retourner le résultat d'un test déjà écrit, sans réécrire toute la condition à l'envers. Tu emballes ESTVIDE, ET ou OU dans NON et tu obtiens directement leur contraire.

Pourquoi c'est utile ? Parce que parfois, il est plus naturel de raisonner par exclusion. Au lieu de lister tous les cas où tu veux agir, tu décris le seul cas à exclure : les clients qui ne sont pas à Paris, les employés qui ne sont pas en congé, les commandes qui n'ont pas encore été traitées. NON rend cette logique d'exclusion limpide, et elle devient redoutable quand tu la combines avec SI, ET ou OU.

Syntaxe

Clique sur un argument pour aller à son explication.

Lucas, la mascotte du Dojo, inspecte les arguments de la fonction à la loupe

Comprendre chaque paramètre de la fonction NON

1

valeur_logique

: la valeur ou l'expression à inverser

Elle peut être une valeur logique directe (VRAI ou FAUX), une comparaison (A1>10), une fonction qui renvoie VRAI/FAUX (ESTVIDE(A1), ET(A1>5; B1<10)), ou un nombre (0 est traité comme FAUX, tout nombre non nul comme VRAI).

Tu peux aussi passer une référence de cellule contenant l'une de ces valeurs. La flexibilité de valeur_logique est ce qui rend NON si polyvalente : elle s'applique à n'importe quelle expression logique, quelle que soit sa complexité.

Le combo gagnant
NON s'associe très bien avec OU pour exclure plusieurs cas d'un coup : NON(OU(A1= « Annulé »; A1= « Suspendu »)) garde tous les statuts sauf « Annulé » et « Suspendu ». C'est bien plus lisible que d'enchaîner plusieurs « différent de ».
Lucas, la mascotte du Dojo, fait une démonstration pas à pas de la fonction dans Excel

Exemples pratiques pas à pas

Exemple 1

Comment vérifier qu'une cellule n'est pas vide avec les fonctions NON et ESTVIDE

Les réponses à tes formulaires arrivent en vrac dans une feuille, et tu dois repérer les sessions où le nom obligatoire n'a jamais été saisi avant de lancer le traitement. Chaque ligne porte le nom, le formulaire d'origine, l'étape et l'identifiant de session, et tu veux une colonne qui réponde par oui ou par non à « le champ est-il rempli ? ». La fonction NON retourne le test posé par la fonction ESTVIDE et te donne la réponse dans le sens où tu la lis.

Les étapes
  1. 1
    Dans une cellule, écris =NON(.
  2. 2
    En 1er argument : écris le test à retourner et referme-le, ESTVIDE(A2). Il répond vrai quand la cellule est restée vide et faux dès qu'un nom y est saisi. La fonction NON inverse ensuite ce verdict pour répondre à la question de la colonne, qui est de savoir si le champ est rempli.
  3. 3
    Ferme la parenthèse de la fonction NON et appuie sur Entrée. Celle de la fonction ESTVIDE a déjà été refermée à l'étape précédente. Recopie ensuite la formule vers le bas, et chaque ligne testera le nom qu'elle porte sans que tu aies à toucher aux références.
Au final, ta formule devrait ressembler à ça :=NON(ESTVIDE(A2))
Explication
La fonction ESTVIDE regarde A2, y trouve Jean Dupont et renvoie donc FAUX. La fonction NON retourne ce FAUX en VRAI, ce qui répond directement à la question posée par la colonne (le champ est-il rempli ?). Recopiée vers le bas, la formule affiche VRAI sur chaque nom saisi et FAUX sur chaque cellule restée vide.
Exemple 2

Comment exclure un cas avec les fonctions NON et SI

Une note interne doit partir par email à toutes les personnes joignables aujourd'hui, sauf à celles qui sont en congé. Ton tableau liste chaque employé avec son statut du jour, et tu veux une colonne qui tranche à ta place. Plutôt que d'énumérer tous les statuts à retenir, tu décris le seul à écarter et tu laisses la fonction NON retourner la logique.

Les étapes
  1. 1
    Dans une cellule, écris =SI(.
  2. 2
    En 1er argument : écris le test qui écarte les personnes en congé et referme-le, NON(B2="Congé"). La comparaison seule répond vrai sur les lignes en congé, et la fonction NON retourne ce verdict pour ne laisser vrai que les autres statuts. Tu n'as ainsi aucun statut à énumérer, ni Bureau, ni Télétravail, ni ceux qui apparaîtront plus tard.
  3. 3
    En 2ᵉ argument : écris le texte affiché quand le test est vrai, "Oui". C'est la sortie de toutes les personnes que la fonction NON a laissées passer, quel que soit leur statut du jour.
  4. 4
    En 3ᵉ argument : écris le texte affiché dans le cas contraire, "Non". Il ne tombe que sur les lignes en congé, le seul cas que tu as décidé d'écarter.
  5. 5
    Ferme la parenthèse et appuie sur Entrée.
Voici la formule que tu obtiens à la fin :=SI(NON(B2="Congé"); "Oui"; "Non")
Explication
Ici, la fonction NON retourne la comparaison au statut Congé : Sophie est au bureau, donc la comparaison est fausse, son inverse est vrai et la fonction SI affiche Oui. Marc bascule sur Non. Le vrai gain se voit à l'usage : le jour où un statut Formation apparaît, il est inclus tout seul, sans retoucher la formule.
Exemple 3

Comment exclure plusieurs cas à la fois avec les fonctions NON et OU

La revue des dépenses courantes approche, et deux catégories doivent rester en dehors du périmètre : les investissements et les charges exceptionnelles, qui écraseraient les montants du quotidien. Chaque ligne porte un montant et sa catégorie, et tu veux marquer d'un coup celles à garder. La fonction NON, posée sur une fonction OU, écarte les deux catégories d'un seul geste au lieu d'enchaîner les « différent de ».

Les étapes
  1. 1
    Dans une cellule, écris =SI(.
  2. 2
    En 1er argument : écris le test qui écarte les deux catégories et referme-le, NON(OU(B2="Investissement"; B2="Exceptionnel")). La fonction OU répond vrai dès que la dépense tombe dans l'une des deux. La fonction NON retourne cette réponse, si bien que seules les dépenses n'appartenant à aucune de ces deux catégories restent vraies.
  3. 3
    En 2ᵉ argument : écris le texte affiché quand le test est vrai, "Oui". Il marque les dépenses courantes que tu gardes dans l'analyse.
  4. 4
    En 3ᵉ argument : écris le texte affiché dans le cas contraire, "Non". Il ne tombe que sur les deux catégories mises de côté.
  5. 5
    Ferme la parenthèse et appuie sur Entrée.
Une fois les morceaux assemblés, ta formule donne ça :=SI(NON(OU(B2="Investissement"; B2="Exceptionnel")); "Oui"; "Non")
Explication
La fonction OU regroupe les deux catégories à écarter et renvoie VRAI dès que la dépense tombe dans l'une d'elles. La fonction NON retourne ce verdict, si bien qu'il ne reste VRAI que pour les dépenses n'appartenant à aucune des deux. Fournitures échappe aux deux tests et ressort donc en Oui, alors qu'Investissement bascule sur Non.
Lucas, la mascotte du Dojo, avec une ampoule, partage des astuces avancées

Astuces avancées avec NON

1Astuce

Simplifie les doubles négations

Si tu vois =SI(NON(A1<>10); ...) dans une formule, simplifie-la en =SI(A1=10; ...) : les deux sont identiques, mais la seconde est immédiatement lisible. Une double négation est toujours le signe qu'on peut réécrire la condition directement.
Avant d'imbriquer NON, demande-toi si l'opérateur inverse (<> au lieu de =, <= au lieu de >) ne suffit pas.

2Astuce

Combine NON avec ET pour des exclusions composites

NON peut inverser le résultat d'une condition ET complexe. =NON(ET(A1>100; B1="Paris")) sélectionne tout sauf les grandes commandes à Paris, sans avoir à décrire tous les autres cas.
Grâce aux lois de De Morgan, cette formule est strictement équivalente à =OU(A1<=100; B1<>"Paris") : choisis la version qui correspond le mieux à la façon dont tu penses le problème.

3Astuce

Utilise NON pour rendre les conditions négatives lisibles

Quand une condition naturelle s'exprime par une négation (« non traité », « pas encore validé », « jamais répondu »), NON rend ta formule aussi claire que ta pensée. =NON(ESTVIDE(A1)) se lit « non vide » : c'est immédiat, sans effort de décodage.
Réserve NON aux cas où la forme négative est la plus naturelle : si la condition positive est tout aussi simple, utilise-la directement.

Lucas, la mascotte du Dojo, l'air gêné face à une erreur Excel

Les erreurs fréquentes avec la fonction NON

Avec NON, les soucis ne viennent presque jamais d'un code d'erreur affiché, mais d'un résultat juste-mais-pas-celui-attendu. Le cas le plus fréquent : on la confond avec l'opérateur <>. Les deux donnent la même chose sur une comparaison simple, sauf qu'on ne peut pas inverser une fonction avec <> (impossible d'écrire =ESTVIDE(A1)<>VRAI).

L'autre surprise classique, c'est une cellule qui contient 0 : =NON(A1) renvoie alors VRAI, parce qu'Excel traite 0 comme FAUX et tout nombre non nul comme VRAI.

Confondre NON et l'opérateur <> pour les comparaisons simples

=NON(A1=5) et =A1<>5 donnent le même résultat sur une comparaison simple, mais NON devient indispensable pour inverser une fonction : tu ne peux pas écrire =ESTVIDE(A1)<>VRAI, tu dois écrire =NON(ESTVIDE(A1)).

Solution : Utilise <> pour les comparaisons de valeurs simples, et NON quand tu inverses le résultat d'une fonction ou d'une condition complexe.

Résultat inattendu quand la cellule contient 0

Si tu écris =NON(A1) avec A1=0, Excel retourne VRAI car 0 est traité comme FAUX en logique Excel. Avec A1=5, tu obtiens FAUX car tout nombre non nul est VRAI. Ce comportement surprend quand on ne le connaît pas.

Solution : Si tu veux tester qu'une cellule ne contient pas un nombre, utilise =NON(ESTNUM(A1)) plutôt que =NON(A1) : c'est plus explicite et ça évite les confusions avec les valeurs numériques.

Formule illisible avec plusieurs NON imbriqués

=SI(NON(NON(NON(A1))); ...) est difficile à lire. Trois NON s'annulent deux à deux, donc ça revient à =SI(NON(A1); ...). Les NON en nombre pair s'annulent complètement.

Solution : Si tu dois imbriquer plus d'un NON, c'est généralement le signe qu'il faut repenser la logique. Réécris la condition avec l'opérateur inverse ou restructure l'expression.

Lucas, la mascotte du Dojo, compare deux fonctions Excel

NON vs ET vs OU vs SI

Prends NON quand ta logique s'exprime le plus simplement par une exclusion : un seul cas à écarter, sans rien décider derrière. Dès que tu veux croiser plusieurs conditions, passe à ET (toutes vraies) ou OU (au moins une), et à SI quand le but est de renvoyer une vraie valeur, pas seulement VRAI ou FAUX.

En pratique NON joue rarement seule : elle s'imbrique dans un OU ou un ESTVIDE pour rendre la condition lisible, là où les autres se suffisent à elles-mêmes.

CritèreNONETOUSI
RôleInverse VRAI/FAUXToutes les conditions vraiesAu moins une condition vraieRenvoie une valeur selon une condition
Nombre de paramètres1 seulJusqu'à 255Jusqu'à 2553 (condition, si_vrai, si_faux)
RésultatVRAI ou FAUXVRAI ou FAUXVRAI ou FAUXToute valeur
Usage typiqueExclure un casCombiner plusieurs conditionsValider une alternativePrendre une décision
Se combine avecET, OU, SI, ESTVIDENON, OU, SINON, ET, SIToutes les fonctions
Le savais-tu ?
Sur une cellule qui contient un nombre, NON traite 0 comme FAUX et tout nombre non nul comme VRAI. Du coup NON(A1) renvoie VRAI quand A1 vaut 0, et FAUX dès que A1 contient 5 ou n'importe quel autre nombre.
FAQ

Questions fréquentes

NON inverse une valeur logique (VRAI devient FAUX), tandis que <> compare deux valeurs. Par exemple, =NON(A1=5) et =A1<>5 donnent le même résultat pour les comparaisons simples. Mais NON est indispensable pour inverser une fonction : tu ne peux pas écrire =ESTVIDE(A1)<>VRAI de façon lisible, alors que =NON(ESTVIDE(A1)) est immédiat. Utilise <> pour les comparaisons directes, NON pour les inversions de fonctions.

Ressources

Pour aller plus loin

Continue sur ta lancée après la fonction NON : la leçon associée, un modèle prêt à l'emploi et le guide pour progresser.

Tout voir