🚀The world's best VBA AI has evolved. ExcelMaster is now an autonomous Agent.Read more →
Back to Blog

Fonctions NOT et XOR dans Excel — Inverser une condition, et la logique du « seul intrus » que presque tout le monde rate

|

Fonctions NOT et XOR dans Excel — Inverser une condition, et la logique du « seul intrus » que presque tout le monde rate

L'essentielNOT inverse un seul verdict : NOT(TRUE) vaut FALSE. XOR est le ou exclusif — avec deux entrées, il est TRUE seulement quand elles diffèrent. Deux pièges font tout le mal. D'abord, NOT prend exactement un argument, donc pour nier une condition composée vous devez écrire NOT(AND(a, b)) — et sa vraie valeur, c'est la loi de De Morgan, qui réécrit une condition emmêlée en une plus simple. Ensuite, XOR avec 3 entrées ou plus ne signifie pas « exactement une est vraie » — il renvoie TRUE pour un nombre impair de TRUE. Pour « exactement un parmi plusieurs », comptez plutôt. NOT fonctionne partout ; XOR exige Excel 2013+.

=IF(NOT(ISBLANK(A2)), "Filled", "Empty")   ' inverser un seul verdict
=XOR(A2="Yes", B2="Yes")                    ' TRUE si exactement un dit Yes

NOT et XOR sont les deux fonctions logiques vers lesquelles les gens tendent la main en dernier et qu'ils utilisent le plus mal. NOT paraît redondant jusqu'à ce que vous découvriez l'unique chose pour laquelle il est réellement bon ; XOR paraît évident jusqu'à ce qu'il renvoie discrètement le contraire de ce que vous attendiez sur trois entrées. Les deux prennent tout leur sens dès que vous voyez à quoi chacun sert vraiment.

Remarque : dans une interface Excel en français, les fonctions s'appellent NON (NOT) et OUX (XOR). Apparentées : AND = ET, OR = OU, IF = SI, ISBLANK = ESTVIDE, ISNUMBER = ESTNUM, COUNTIF = NB.SI, SUMPRODUCT = SOMMEPROD, FILTER = FILTRE. Dans Excel en français, les codes d'erreur s'affichent #N/A, #REF!, #NOM?, #VALEUR!, #DIV/0!. Les formules ci-dessous utilisent les noms anglais — le comportement est identique.

Ce que vous allez apprendre

  • Le modèle mental : NOT est un interrupteur à bascule, XOR un détecteur de différence
  • Pourquoi NOT prend exactement un argument — et le piège de la condition composée
  • Quand NOT mérite sa place, et quand il n'est qu'un <> endimanché
  • La loi de De Morgan : la réécriture qui rend NOT digne d'être connu
  • XOR avec deux entrées (« elles diffèrent ») vs la surprise du nombre impair sur 3 entrées ou plus
  • Le bon outil pour « exactement un parmi plusieurs » — et ce n'est pas XOR

Le modèle mental : un interrupteur à bascule et un détecteur de différence

NOT est un interrupteur pour un seul verdict. Quel que soit le TRUE/FALSE qui entre, l'opposé ressort — rien de plus. XOR est un détecteur de différence : donnez-lui deux conditions et il répond « ces deux-là sont-elles différentes ? »

=NOT(A2>10)          ' TRUE quand A2 n'est PAS supérieur à 10
=XOR(A2>10, B2>10)   ' TRUE quand exactement l'un des deux est supérieur à 10

Gardez ces deux images séparées — une inversion et une différence — et vous ne les confondrez jamais avec AND/OR, qui combinent des conditions au lieu de les inverser ou de les comparer.

NOT prend exactement un argument (le piège de la composition)

NOT nie une seule valeur logique. C'est l'erreur que les gens rencontrent en premier — essayer de nier deux conditions d'un coup :

=NOT(A2>0, B2>0)         ' FAUX — trop d'arguments
=NOT(AND(A2>0, B2>0))    ' JUSTE — nier le verdict combiné

Pour inverser une condition composée, vous devez d'abord la combiner (avec AND/OR) en un seul verdict, puis inverser ce verdict. NOT est le dernier maillon de la chaîne, jamais le combineur.

Quand NOT mérite sa place — et quand il n'est qu'un <> déguisé

Voici la part honnête que la plupart des guides sautent : une bonne partie des usages de NOT n'est que du bruit. NOT(A2="x") est exactement A2<>"x", en plus long et plus dur à lire :

=NOT(A2="Done")   ' ça marche, mais...
=A2<>"Done"        ' ...ceci est plus clair
=NOT(A2>10)        ' ça marche, mais A2<=10 est plus clair

Pour une simple comparaison, utilisez l'opérateur inverse (<>, <=, >=) et laissez tomber NOT entièrement. NOT gagne son pain à deux endroits : nier une fonction qui renvoie déjà un booléen là où il n'existe pas d'opérateur à inverser — NOT(ISBLANK(A2)), NOT(ISNUMBER(A2)) (voir les fonctions IS) — et nier une condition nommée ou composée pour que la formule se lise comme une phrase. Si vous pouvez exprimer le même test avec un seul opérateur de comparaison, c'est presque toujours le meilleur choix.

La loi de De Morgan : le vrai superpouvoir de NOT

Si NOT vaut la peine d'être connu, c'est parce qu'il vous permet de réécrire une logique emmêlée. La loi de De Morgan dit que nier un AND le transforme en un OR des négations, et réciproquement :

' "NON (à la fois A et B)" équivaut à "(non A) OR (non B)"
=NOT(AND(A2="EU", B2>1000))   =   =OR(A2<>"EU", B2<=1000)

' "NON (soit A soit B)" équivaut à "(non A) AND (non B)"
=NOT(OR(Status="Void", Status="Draft"))   =   =AND(Status<>"Void", Status<>"Draft")

Cela compte parce qu'une forme est presque toujours plus facile à lire et à alimenter dans un IF ou un FILTER. Si vous vous surprenez à écrire « garder tout ce qui n'est pas annulé et pas un brouillon », la forme AND(...<>...) de droite est plus claire qu'un enveloppement NOT(OR(...)). Connaître l'échange vous permet de choisir la formulation qui se lit le mieux au lieu de rester coincé avec celle que vous avez écrite en premier.

XOR avec deux entrées : « elles diffèrent »

Avec exactement deux conditions, XOR est le test « l'une mais pas les deux » — TRUE quand les entrées sont en désaccord, FALSE quand elles concordent :

A B OR XOR
FALSE FALSE FALSE FALSE
TRUE FALSE TRUE TRUE
FALSE TRUE TRUE TRUE
TRUE TRUE TRUE FALSE

La seule ligne où XOR et OR divergent est la dernière : OR dit « oui, au moins un », XOR dit « non — les deux, ce n'est pas permis ». C'est là le vrai cas d'usage — des drapeaux mutuellement exclusifs qui ne devraient jamais être activés en même temps :

=IF(XOR(C2="Paid", D2="Refunded"), "OK", "Check: both or neither")

La surprise XOR : 3 entrées ou plus signifie « nombre impair », pas « exactement un »

Voici le piège qui attrape presque tout le monde. Il est naturel de lire XOR comme « exactement une est vraie ». Avec deux entrées, cela se trouve être exact. Avec trois entrées ou plus, ce ne l'est pas — XOR renvoie TRUE quand un nombre impair d'entrées sont vraies :

=XOR(TRUE, TRUE, TRUE)          ' -> TRUE   (trois vrais = impair), PAS "exactement un"
=XOR(TRUE, TRUE, FALSE)         ' -> FALSE  (deux vrais = pair)
=XOR(TRUE, FALSE, FALSE)        ' -> TRUE   (un vrai = impair)

XOR est en réalité un contrôle de parité — il compte combien de vrais il y a et signale si ce nombre est impair. C'est occasionnellement exactement ce que vous voulez (bits de parité, chaînes de bascule), mais ce n'est presque jamais ce que quelqu'un veut dire quand il affirme « exactement une de ces cases est cochée ».

Pour « exactement un parmi plusieurs », comptez plutôt

Quand il vous faut réellement « un et un seul de ceux-ci est vrai », cessez d'utiliser XOR et comptez directement les vrais — puis vérifiez que le compte égale 1 :

=(--(A2="Yes") + --(B2="Yes") + --(C2="Yes")) = 1   ' exactement un Yes
=COUNTIF(B2:D2, "Yes") = 1                            ' même idée sur une plage

Le -- convertit chaque TRUE/FALSE en 1/0 (la même astuce qui alimente SUMPRODUCT), donc la somme est littéralement « combien sont vrais ». La comparer à 1 dit « exactement un » ; à >=1 dit « au moins un » (c'est OR) ; à =0 dit « aucun ». Le comptage s'adapte à n'importe quel nombre de conditions et ne vous surprend jamais avec une histoire de parité.

Le jugement

  • Inverser un seul verdict issu d'une fonction qui renvoie un booléenNOT (par ex. NOT(ISBLANK(...))).
  • Nier une simple comparaison → utilisez <>, <=, >=, pas NOT.
  • Simplifier un NOT(AND/OR(...)) emmêlé → appliquez la loi de De Morgan et gardez le côté lisible.
  • Deux drapeaux mutuellement exclusifsXOR.
  • « Exactement un parmi plusieurs » → comptez avec --/COUNTIF, jamais XOR sur 3 entrées ou plus.

Comment ExcelMaster aide

La logique qui piège les gens ici est subtile — « pas les deux », « exactement un », « aucun d'eux » — et la mauvaise fonction échoue en silence, en renvoyant une réponse plausible mais fausse dans les cas limites. ExcelMaster lit la règle telle que vous la formulez — signaler les lignes où exactement une case d'approbation est cochée — et écrit la forme qui veut réellement dire cela (un comptage =1, pas une parité XOR), ou applique la loi de De Morgan pour changer une double négation en quelque chose que vous saurez relire dans six mois.

Questions fréquentes

Que fait la fonction NOT dans Excel ?

NOT inverse une seule valeur logique : NOT(TRUE) vaut FALSE et NOT(FALSE) vaut TRUE. Il prend exactement un argument, donc pour nier une condition composée vous l'enveloppez : NOT(AND(A2>0, B2>0)).

Ai-je vraiment besoin de NOT, ou puis-je utiliser <> à la place ?

Pour une simple comparaison, <> (ainsi que <=, >=) est plus clair : A2<>"x" l'emporte sur NOT(A2="x"). Utilisez NOT surtout pour inverser une fonction qui renvoie un booléen — NOT(ISBLANK(A2)) — ou pour nier tout un composé AND/OR.

Quelle est la différence entre OR et XOR dans Excel ?

Avec deux entrées, ils s'accordent sauf lorsque les deux sont vraies : OR renvoie TRUE, XOR renvoie FALSE. XOR, c'est « l'un mais pas les deux ». Utilisez OR pour « au moins un », XOR pour des drapeaux mutuellement exclusifs.

Pourquoi XOR renvoie-t-il TRUE quand trois conditions sont vraies ?

Parce que XOR teste la parité, et non « exactement un ». Il renvoie TRUE pour un nombre impair d'entrées TRUE, donc trois vrais (impair) donnent TRUE. Pour « exactement un parmi plusieurs », comptez plutôt les vrais : COUNTIF(range, TRUE)=1.

Comment tester qu'exactement une de plusieurs cellules est remplie ?

Comptez et comparez à 1 : =COUNTIF(B2:D2, "Yes")=1, ou =(--(A2="Yes")+--(B2="Yes")+--(C2="Yes"))=1. N'utilisez pas XOR pour plus de deux conditions — il vérifie l'impair/pair, pas « exactement un ».

Testé dans

Testé dans : Excel 365 (Windows 11) — dernière vérification le 04/07/2026.

Guides associés : Excel AND & OR · Excel IS functions · Excel IF · Excel SUMPRODUCT · Excel FILTER