XOU (XOR en anglais) est la version exclusive de la fonction OU : elle retourne VRAI uniquement quand un nombre impair de ses arguments est vrai. C'est le test d'exclusivité logique, idéal pour détecter les différences, valider que exactement une option parmi plusieurs est choisie, ou vérifier la parité dans des séries de conditions.
Concrètement, c'est elle qui valide qu'un formulaire d'inscription contient exactement un moyen de contact (email ou téléphone, mais pas les deux), qui alerte sur un produit ayant un seul problème critique, ou qui détecte les lignes d'un tableau où exactement une condition est remplie. Avec seulement deux arguments, elle se lit comme "A et B sont-ils différents ?".
Syntaxe de la fonction XOU
=XOU(logique1; [logique2]; [logique3]; ...)Avec exactement deux arguments, XOU(A;B) retourne VRAI si A et B ont des valeurs différentes, FAUX s'ils sont identiques. Ce comportement en fait un détecteur de changement naturel.
Comprendre chaque paramètre de la fonction XOU
Seul logique1 est obligatoire ; tout le reste s'ajoute à la suite, jusqu'à 254 conditions au total. L'ordre n'a aucune importance ici, car XOU ne regarde qu'une chose : combien de tes conditions sont vraies, pour savoir si ce total est pair ou impair.
Chaque argument peut être une comparaison (A1>10), une référence, une valeur logique, ou même une plage entière — XOU descend alors dans chaque cellule pour faire son compte.
logique1
: la première condition ou valeur logique à évaluerIl peut s'agir d'une expression de comparaison (A1>10), d'une référence de cellule contenant VRAI ou FAUX, du résultat d'une autre fonction logique comme ESTVIDE(C1), ou d'une valeur directe VRAI.
Si la cellule contient du texte comme "Oui", XOU ne l'interprétera pas comme VRAI. Il faut alors écrire une comparaison : A1="Oui".
Astuce : Tu peux aussi passer une plage entière comme premier argument : XOU(A1:A5) évalue toutes les cellules et retourne VRAI si un nombre impair d'entre elles est vrai ou non nul.
[logique2]
: deuxième condition logique à évaluer(facultatif)XOU compte le nombre total de conditions vraies parmi tous ses arguments. Si ce nombre est impair (1, 3, 5...), XOU retourne VRAI. Si ce nombre est pair (0, 2, 4...), XOU retourne FAUX.
Tu peux ajouter jusqu'à 254 arguments au total. Chaque argument suit les mêmes règles que le premier : expression, référence ou valeur logique.
[logique3, ...]
: conditions logiques supplémentaires, dans la même limite de 254 arguments au total(facultatif)Plus tu ajoutes d'arguments, plus la logique de parité devient centrale : XOU(VRAI;VRAI;VRAI) retourne VRAI car 3 est impair, alors que XOU(VRAI;VRAI;VRAI;VRAI) retourne FAUX car 4 est pair.
Attention : Avec plus de 2 arguments, l'interprétation intuitive "exactement un" ne tient plus : XOU retourne VRAI pour 1, 3, 5... conditions vraies. Pour tester strictement "exactement une condition vraie", combine =NB.SI(A1:C1; VRAI)=1 ou =SOMMEPROD(--(A1:C1))=1.
Pas envie d'écrire la formule XOU à la main ?
Génère-la avec notre IAExemples pratiques pas à pas
Service client : valider un formulaire d'inscription
Tu gères un formulaire d'inscription en ligne et ta règle métier est simple : le client doit fournir exactement un moyen de contact, soit un email, soit un numéro de téléphone, mais pas les deux ni aucun des deux. XOU valide cette règle en une seule formule.
| A | B | C | D | |
|---|---|---|---|---|
| 1 | Client | Email rempli | Téléphone rempli | Validation |
| 2 | Alice | VRAI | FAUX | VRAI |
| 3 | Bob | VRAI | VRAI | FAUX |
| 4 | Charlie | FAUX | FAUX | FAUX |
| 5 | Diana | FAUX | VRAI | VRAI |
=XOU(B2;C2)La fonction retourne VRAI pour Alice (email seulement) et Diana (téléphone seulement), car exactement un des deux champs est rempli. Elle retourne FAUX pour Bob (les deux champs remplis : nombre pair de VRAI) et pour Charlie (aucun champ : zéro VRAI, aussi pair). Seuls Alice et Diana passent la validation.
Astuce de pro : Combine avec SI pour afficher un message clair : =SI(XOU(B2;C2); "OK"; "Remplis exactement un moyen de contact"). C'est plus lisible qu'une imbrication de ET et NON.
Contrôle qualité : détecter les alertes simples sur les produits
Tu gères un catalogue de produits et tu veux déclencher une alerte simple uniquement quand exactement un indicateur est critique : soit le prix est réduit (attention aux marges), soit le stock est faible (risque de rupture), mais pas les deux simultanément. Les produits avec les deux problèmes nécessitent une réunion d'urgence, pas une simple alerte.
| A | B | C | D | |
|---|---|---|---|---|
| 1 | Produit | Prix réduit | Stock faible | Alerte simple |
| 2 | Laptop Pro | VRAI | FAUX | VRAI |
| 3 | Souris XG | VRAI | VRAI | FAUX |
| 4 | Clavier Z | FAUX | FAUX | FAUX |
| 5 | Écran 4K | FAUX | VRAI | VRAI |
=XOU(B2;C2)La fonction retourne VRAI pour Laptop Pro (prix réduit seulement) et Écran 4K (stock faible seulement). La Souris XG cumule les deux problèmes et retourne FAUX, ce qui signale qu'elle nécessite un traitement différent. Le Clavier Z, sans problème, retourne aussi FAUX.
Gestion de projet : identifier les conflits de ressources simples
Tu pilotes plusieurs tâches et tu veux distinguer les problèmes simples (un seul type de ressource manquante, résolvable rapidement) des problèmes complexes (budget ET personnel insuffisants, qui nécessitent une escalade).
| A | B | C | D | |
|---|---|---|---|---|
| 1 | Tâche | Budget insuffisant | Personnel manquant | Conflit simple |
| 2 | Développement | VRAI | FAUX | VRAI |
| 3 | Marketing | FAUX | VRAI | VRAI |
| 4 | Support | VRAI | VRAI | FAUX |
| 5 | Formation | FAUX | FAUX | FAUX |
=XOU(B2;C2)Les tâches Développement et Marketing ont exactement un problème chacune : la fonction retourne VRAI, et tu peux les traiter séparément. Le Support cumule les deux problèmes et retourne FAUX, il faut donc l'escalader. La Formation, saine, retourne aussi FAUX.
Astuce de pro : Pour afficher automatiquement le type de problème, imbrique XOU dans SI : =SI(XOU(B2;C2);"Conflit simple";SI(ET(B2;C2);"Escalader";"OK")). Trois cas couverts en une formule.
Ingénierie : vérification de parité sur des bits de données
Tu travailles sur un système de détection d'erreurs par parité impaire. Le principe : chaque ligne de données doit contenir un nombre impair de bits actifs pour être valide. XOU vérifie cette condition directement.
| A | B | C | D | E | |
|---|---|---|---|---|---|
| 1 | Ligne | Bit 1 | Bit 2 | Bit 3 | Parité impaire |
| 2 | Donnée 1 | 1 | 0 | 1 | FAUX |
| 3 | Donnée 2 | 1 | 1 | 1 | VRAI |
| 4 | Donnée 3 | 0 | 1 | 0 | VRAI |
| 5 | Donnée 4 | 0 | 0 | 0 | FAUX |
=XOU(B2;C2;D2)Ici, la fonction compte les bits actifs : la Donnée 1 en a 2 (pair) et retourne FAUX, tandis que la Donnée 2 en a 3 (impair) et retourne VRAI. C'est la base du contrôle de parité, utilisé dans la transmission de données pour détecter les erreurs.
Envie de t'entraîner sur de vrais exercices Excel ?
M'entraînerLes erreurs fréquentes avec la fonction XOU
Presque toutes les surprises avec XOU viennent du même réflexe : la confondre avec OU. XOU(VRAI;VRAI) renvoie FAUX alors qu'on attendait VRAI, simplement parce que deux conditions vraies font un total pair. C'est de la logique de parité, pas du "au moins un".
Le reste découle de la même mécanique : un résultat qui déroute dès qu'on dépasse deux arguments, ou des cellules contenant du texte ("Oui", "1") que XOU ne traduit pas tout seul en VRAI.
Confondre XOU avec OU : XOU(VRAI;VRAI) retourne FAUX
XOU compte la parité du nombre de conditions vraies. Avec deux arguments VRAI, ce nombre est 2 (pair), donc XOU retourne FAUX. OU, lui, retourne VRAI dès qu'au moins un argument est VRAI. L'erreur vient de croire que XOU fonctionne comme OU pour "au moins un".
Solution : Utilise XOU uniquement pour les cas d'exclusivité. Si tu veux "au moins une condition vraie", garde OU. Si tu veux exactement une condition vraie parmi deux, XOU est parfait. Vérifie ton intention métier avant de choisir.
Résultat inattendu avec plus de 2 arguments : XOU(VRAI;VRAI;VRAI) retourne VRAI
Avec 3 arguments tous vrais, XOU compte 3 conditions vraies. 3 est impair, donc XOU retourne VRAI. Si tu croyais tester "exactement un parmi trois", le résultat te surprend car XOU retourne VRAI pour 1, 3, 5... conditions vraies.
Solution : Pour tester strictement "exactement une condition vraie" parmi N arguments, utilise =SOMMEPROD(--(A1:C1))=1 ou =NB.SI(A1:C1;VRAI)=1. Réserve XOU aux tests à deux arguments ou aux contrôles de parité.
XOU retourne une erreur quand les cellules contiennent du texte
XOU attend des valeurs logiques VRAI/FAUX ou des expressions qui s'évaluent en VRAI/FAUX. Une cellule contenant le texte "Oui" ou "1" n'est pas automatiquement interprétée comme VRAI.
Solution : Construis une expression de comparaison explicite : =XOU(A1="Oui"; B1="Oui") au lieu de =XOU(A1;B1). Si la cellule contient 1 ou 0, utilise =XOU(A1=1; B1=1) ou convertis avec =XOU(A1<>0; B1<>0).
XOU(FAUX;FAUX) retourne FAUX alors qu'on attendait VRAI
Zéro conditions vraies est un nombre pair (0 est pair). XOU retourne donc FAUX quand aucune condition n'est vraie, pas VRAI. Ce comportement est cohérent avec la logique de parité, mais surprenant si on s'attendait à "au moins un".
Solution : Si tu veux détecter les cas où aucune condition n'est vraie, ajoute un test séparé : =SI(ET(NON(A1);NON(B1));"Aucun";SI(XOU(A1;B1);"Exactement un";"Les deux")).
XOU vs OU vs ET vs NON
Choisis XOU quand tu veux exactement une condition vraie sur deux, ou détecter qu'un seul changement a eu lieu — c'est le seul du lot qui renvoie FAUX quand tout est vrai. Prends OU dès que "au moins une" suffit, et ET quand toutes doivent l'être en même temps.
NON reste à part : il inverse une seule condition, là où les trois autres en combinent plusieurs.
| Critère | XOU | OU | ET | NON |
|---|---|---|---|---|
| Retourne VRAI si... | Nombre impair de conditions vraies | Au moins une condition vraie | Toutes les conditions vraies | La condition est fausse |
| XOU(VRAI;VRAI) | FAUX (2 = pair) | VRAI | VRAI | N/A (1 seul arg) |
| XOU(VRAI;FAUX) | VRAI (1 = impair) | VRAI | FAUX | N/A |
| XOU(FAUX;FAUX) | FAUX (0 = pair) | FAUX | FAUX | N/A |
| Cas d'usage typique | Validation exclusive, détection de différences | Plusieurs alternatives possibles | Toutes les règles doivent être respectées | Inversion logique |
Astuces avancées avec XOU
Utilise XOU pour détecter un changement entre deux états
Compare deux instantanés avec =XOU(État_Avant; État_Après) : si les deux sont identiques (tous deux VRAI ou tous deux FAUX), XOU retourne FAUX. Si l'un a changé, XOU retourne VRAI. C'est un détecteur de changement sans condition ni SI.
Très utile pour signaler les lignes qui ont été modifiées dans un tableau de suivi.
Combine XOU avec ET pour des validations croisées complexes
Dans un formulaire multi-sections, vérifie plusieurs exclusivités à la fois : =ET(XOU(Email;Tel);XOU(Particulier;Entreprise)) valide qu'exactement un moyen de contact ET exactement un type de client sont renseignés, en une seule formule.
Chaque XOU gère une règle d'exclusivité indépendante ; ET s'assure que les deux règles sont simultanément respectées.
Utilise XOU dans les règles de mise en forme conditionnelle
Dans le gestionnaire de règles, entre =XOU($B2>1000;$C2<10) comme formule : les lignes avec exactement un indicateur critique se colorent automatiquement, te permettant de prioriser tes actions visuellement sans colonne intermédiaire.
Cette technique évite d'ajouter une colonne "Alerte" dans ton tableau et garde la mise en forme attachée aux données.
Questions fréquentes sur la fonction XOU
Quelle est la différence entre XOU et OU ?
OU retourne VRAI si au moins une condition est vraie. XOU retourne VRAI uniquement si un nombre impair de conditions est vrai (1, 3, 5...). Avec deux arguments VRAI, OU retourne VRAI mais XOU retourne FAUX car 2 est pair.
XOU est le test d'exclusivité : il vérifie qu'exactement une condition est vraie parmi deux, ou qu'un nombre impair de conditions est vrai parmi plusieurs.
Combien de conditions peut-on mettre dans XOU ?
Tu peux utiliser jusqu'à 254 arguments logiques dans XOU. La fonction retourne VRAI si le nombre total de conditions vraies est impair. Chaque argument peut être une expression logique, une référence de cellule, ou même une plage.
Peut-on utiliser XOU avec des plages de cellules ?
Oui. =XOU(A1:A5) évalue toutes les cellules de la plage et retourne VRAI si un nombre impair d'entre elles contient VRAI ou une valeur non nulle. C'est pratique pour vérifier la parité d'une série de valeurs logiques en une seule formule.
Comment utiliser XOU pour détecter des valeurs différentes entre deux cellules ?
Avec deux arguments, XOU est un détecteur naturel de différence. =XOU(A1>10; B1>10) retourne VRAI si exactement l'une des deux cellules dépasse 10, et FAUX si elles sont toutes les deux au-dessus ou toutes les deux en dessous.
C'est plus concis que d'écrire une imbrication de ET et NON pour le même test.
XOU peut-elle remplacer SI dans certains cas ?
Oui, quand tu veux juste obtenir un résultat logique VRAI/FAUX. =XOU(condition1; condition2) remplace avantageusement =SI(ET(condition1;NON(condition2));VRAI;SI(ET(NON(condition1);condition2);VRAI;FAUX)) pour tester l'exclusivité.
En revanche, dès que tu veux renvoyer une valeur personnalisée ("OK" / "Erreur"), imbrique XOU à l'intérieur d'un SI : =SI(XOU(A1;B1); "OK"; "Erreur").
XOU est-elle disponible dans toutes les versions d'Excel ?
XOU est disponible depuis Excel 2013. Elle n'existe pas dans les versions antérieures. Sur Google Sheets, elle s'appelle XOR (nom anglais). Le comportement est identique sur les deux plateformes.
Pour aller plus loin
Les fonctions similaires : OU, ET, NON, SI, SI.CONDITIONS
Bloqué sur une formule Excel ?
Pose ta question à notre assistant Excel IA, il te sort la bonne formule en quelques secondes.
Essayer l'assistant IAGratuit · 10 questions par mois

