=ET(B2>=50;C2>=50) renvoie VRAI seulement quand les deux conditions sont vraies. =OU(B2>=50;C2>=50) renvoie VRAI quand au moins l'une d'elles l'est. Dans SI, elles transforment deux conditions en un seul test : =SI(ET(B2>=50;C2>=50);"Pass";"Fail"). ET, OU et SI s'appellent AND, OR et IF dans un Excel anglais, les noms que montre le tableau ; vous pouvez aussi y taper les formules en français, avec des points-virgules.
| A | B | C | D | E | |
|---|---|---|---|---|---|
| 1 | Student | Exam | Project | Both 50+ | Either 50+ |
| 2 | Ana | 72 | 64 | Pass | Pass |
| 3 | Ben | 45 | 80 | Fail | Pass |
| 4 | Chloe | 58 | 51 | Pass | Pass |
| 5 | Dan | 38 | 42 | Fail | Fail |
| 6 | Eve | 91 | 47 | Fail | Pass |
=SI(ET(B2>=50;C2>=50);"Pass";"Fail")Ben et Eve réussissent une partie et échouent à l'autre : ils échouent dans la colonne D (ET) et réussissent dans la colonne E (OU). Dan échoue aux deux parties et dans les deux colonnes. Passez l'examen de Ben en B3 à 55 et il réussit aussi en D.
Fonction ET
=AND(logical1, [logical2], ...)
ET accepte jusqu'à 255 conditions et renvoie VRAI seulement si chacune d'elles est VRAI. Un seul FAUX suffit pour que le résultat soit FAUX. Seule, ET affiche VRAI ou FAUX dans la cellule ; dans SI, elle décide quel résultat SI renvoie.
Vérifier si un nombre est entre deux valeurs
Excel n'a pas de fonction ENTRE. Utilisez ET avec une borne inférieure et une borne supérieure :
| A | B | C | D | |
|---|---|---|---|---|
| 1 | Sample | Temp | Between 10 and 20 | Status |
| 2 | S1 | 14 | TRUE | OK |
| 3 | S2 | 22 | FALSE | Check |
| 4 | S3 | 10 | TRUE | OK |
| 5 | S4 | 7 | FALSE | Check |
| 6 | S5 | 20 | TRUE | OK |
=ET(B2>=10;B2<=20)S3 et S5 sont exactement sur les bornes et comptent comme dans la plage, parce que les tests utilisent >= et <=. Pour exclure les bornes, utilisez > et <. Garder les bornes dans des cellules, =ET(B2>=$F$1;B2<=$F$2), permet de changer la plage sans modifier la formule. Un test comme 10<=B2<=20 ne fonctionne pas dans Excel : il compare 10<=B2 (VRAI ou FAUX) à 20, et Excel classe VRAI et FAUX au-dessus de tous les nombres, donc le résultat est toujours FAUX.
Fonction OU
=OR(logical1, [logical2], ...)
OU renvoie VRAI si au moins une condition est VRAI, et FAUX seulement quand toutes sont FAUX. C'est la façon habituelle d'accepter plusieurs valeurs texte :
| A | B | C | |
|---|---|---|---|
| 1 | Order | Region | Zone |
| 2 | 1001 | North | Zone 1 |
| 3 | 1002 | East | Zone 2 |
| 4 | 1003 | South | Zone 1 |
| 5 | 1004 | West | Zone 2 |
| 6 | 1005 | south | Zone 1 |
=SI(OU(B2="North";B2="South");"Zone 1";"Zone 2")Les comparaisons de texte ignorent la casse : south en minuscules arrive aussi en Zone 1. Pour une longue liste de valeurs acceptées, =OR(B2={"North","South","Central"}) (forme anglaise) compare B2 à chaque élément de la constante matricielle en une seule fois.
NON et OUX
NON (NOT en anglais) inverse une valeur logique : =NON(VRAI) vaut FAUX. Elle se lit bien quand la condition dont vous disposez est l'inverse de celle que vous voulez : =SI(NON(C2="Done");"Follow up";"") équivaut à =SI(C2<>"Done";"Follow up";"").
OUX (XOR en anglais), disponible depuis Excel 2013, est le ou exclusif : avec deux conditions, elle vaut VRAI quand exactement l'une d'elles est VRAI, et FAUX quand les deux sont VRAI ou les deux FAUX. Avec plus de conditions, elle vaut VRAI quand un nombre impair d'entre elles sont VRAI.
| A | B | C | D | E | |
|---|---|---|---|---|---|
| 1 | Task | Owner | Status | Open | One check only |
| 2 | Report | Ana | Done | FALSE | FALSE |
| 3 | Budget | Ben | Open | TRUE | FALSE |
| 4 | Slides | Ana | Open | TRUE | TRUE |
| 5 | Survey | Ben | Done | FALSE | TRUE |
| 6 | Plan | Ana | Done | FALSE | FALSE |
=NON(C2="Done")La colonne E vaut TRUE pour Slides (Ana mais pas Done) et Survey (Done mais pas Ana), et FALSE là où les deux conditions, ou aucune, sont remplies. Le tableau affiche VRAI et FAUX en anglais, TRUE et FALSE.
ET et OU ensemble
Les conditions peuvent s'imbriquer : ET dans OU ou OU dans ET. Un commercial touche une prime quand il est dans la région North et qu'il a soit vendu plus de 1 000, soit signé un nouveau client :
| A | B | C | D | E | |
|---|---|---|---|---|---|
| 1 | Rep | Region | Sales | New client | Bonus |
| 2 | Ana | North | 1200 | No | Bonus |
| 3 | Ben | North | 700 | Yes | Bonus |
| 4 | Chloe | South | 1500 | Yes | |
| 5 | Dan | North | 900 | No | |
| 6 | Eve | North | 1100 | Yes | Bonus |
=SI(ET(B2="North";OU(C2>1000;D2="Yes"));"Bonus";"")Ana (les ventes), Ben (le nouveau client) et Eve (les deux) touchent la prime. Chloe remplit la partie OU mais est dans la région South, et Dan est en North mais ne remplit aucune des conditions OU.
Exercice : livraison gratuite
| A | B | C | D | |
|---|---|---|---|---|
| 1 | Order | Total | Member | Shipping |
| 2 | 1001 | 35 | Yes |
À vous : En D2, affichez "Free" quand le montant de la commande en B2 est d'au moins 50 ou que le client est membre (C2 vaut "Yes"), sinon affichez "Paid".
ET et OU dans les formules matricielles : utilisez * et +
ET et OU réduisent tout ce qu'on leur donne à un seul VRAI ou FAUX. C'est ce qu'il faut sur une seule ligne, mais pas quand une formule travaille sur toute une colonne à la fois : =ET(B2:B6="North";C2:C6>100) renvoie une seule valeur pour les cinq lignes ensemble. Dans les formules matricielles (FILTRE, SOMMEPROD, SOMME sur une condition), écrivez les conditions entre parenthèses et multipliez-les pour ET, additionnez-les pour OU. VRAI compte pour 1 et FAUX pour 0 : un produit vaut 1 seulement quand les deux sont vraies, et une somme vaut au moins 1 quand l'une l'est.
| A | B | C | D | E | F | |
|---|---|---|---|---|---|---|
| 1 | Rep | Region | Sales | Count | ||
| 2 | Ana | North | 1200 | North and over 1,000 | 2 | |
| 3 | Ben | South | 700 | North or over 1,000 | 4 | |
| 4 | Chloe | North | 900 | |||
| 5 | Dan | South | 1500 | |||
| 6 | Eve | North | 1100 |
=SOMMEPROD((B2:B6="North")*(C2:C6>1000))F2 compte 2 lignes (Ana et Eve), F3 en compte 4 (tout le monde sauf Ben). En F3, le >0 compte : une ligne qui remplit les deux conditions donne une somme de 2, et la comparaison transforme toute somme supérieure à 0 en un seul VRAI. Le même principe filtre des lignes, =FILTRE(A2:C6;(B2:B6="North")*(C2:C6>1000)) ; pour un simple décompte avec une logique ET, NB.SI.ENS (COUNTIFS en anglais) le fait sans matrice : =NB.SI.ENS(B2:B6;"North";C2:C6;">1000"), voir la page NB.SI.ENS.
Questions fréquentes
Comment utiliser SI avec ET dans Excel ?
Placez ET dans le test de SI : =SI(ET(B2>=50;C2>=50);"Pass";"Fail"). Le résultat est Pass seulement quand B2 et C2 valent tous deux 50 ou plus.
Comment vérifier si un nombre est entre deux valeurs dans Excel ?
Utilisez ET avec deux comparaisons : =ET(B2>=10;B2<=20) renvoie VRAI pour toute valeur de 10 à 20, bornes comprises. Dans SI : =SI(ET(B2>=10;B2<=20);"In range";"Out of range").
Quelle est la différence entre ET et OU dans Excel ?
ET renvoie VRAI seulement quand toutes les conditions sont VRAI. OU renvoie VRAI quand au moins une condition est VRAI. =ET(VRAI;FAUX) vaut FAUX et =OU(VRAI;FAUX) vaut VRAI.
Pourquoi ET ne fonctionne-t-il pas dans ma formule FILTRE ou SOMMEPROD ?
ET et OU réduisent une plage entière à un seul VRAI ou FAUX au lieu d'un par ligne. Dans les formules matricielles, multipliez les conditions pour ET, (B2:B6="North")*(C2:C6>100), et additionnez-les pour OU.
Peut-on utiliser ET et OU dans la même formule ?
Oui, imbriquez l'une dans l'autre : =SI(ET(B2="North";OU(C2>1000;D2="Yes"));"Bonus";"") exige North et, en plus, soit des ventes supérieures à 1000, soit Yes en D2.