Fonctions ET – OU

Temps de lecture : 3 minutes

Enrichir un test logique

Nous avions vu dans un précédent article comment construire un test logique dans Excel et aussi comment interpréter le résultat. Seulement, il y a des situations ou ne faire qu'un seul test n'est pas suffisant.

Si vous êtes amenés à effectuer un test qui reprend plusieurs colonnes / données de votre classeur, il vous faudra utiliser les fonctions ET ou OU qui vont enrichir vos tests logiques.

Présentation des fonctions ET et OU

Les fonctions ET et OU se construisent en mettant tous vos tests, ensemble, dans une seule parenthèse, en les séparant les uns des autres par des points-virgules.

Vous pouvez écrire jusqu'à 255 arguments dans les fonctions ET et OU (peu de chance que vous atteigniez un jour cette limite 😉 )

Fonction ET

Une condition ET retournera VRAI si et seulement si, tous les tests de la fonction sont vrais.

=ET(condition 1;condition 2;condition 3; ...)

Exemple d'utilisation de la fonction ET dans un test logique

Fonction OU

Une condition OU retournera VRAI si une seule (ou plus) des conditions de la fonction est vraie.

=OU(condition 1;condition 2;condition 3; ...)

Attention : La fonction OU est dite inclusive, c'est-à-dire qu'elle retournera VRAI si au moins une des conditions est vraie. Par contre, si vous voulez faire un test lorsque exactement une seule condition est vraie, alors dans ce cas il faut faire un OU exclusif en utilisant la fonction OUX (uniquement depuis Excel 2013).

Exercice d'utilisation des fonctions ET et OU.

Vous avez dans le fichier suivant, différentes informations sur vos clients. Vous souhaitez sélectionner dans ce fichier vos clients en fonction de certains critères.

Si les critères correspondent à vos attentes, vous retournerez 1 en colonne G, 0 si le test n'est pas concluant. De cette façon, il ne vous reste plus qu'à effectuer l'addition de la colonne G pour savoir combien de clients correspondent à vos critères.

  • Pour retourner 1 ou 0 au lieu de VRAI ou FAUX il suffit de multiplier par 1 votre test. 😉🏆👍
La fonction ET retourne 0 ou 1 au lieu de VRAI et FAUX

Essayer de résoudre toutes ces questions dans ce classeur Excel.

  • Question 1 : Combien de clients sont mariés et ont un seul enfant ?
  • Question 2 : Combien de clients sont célibataires ou divorcés ?
  • Question 3 : Combien de clients sont mariés avec un revenu supérieur à 75000 ?
  • Question 4 : Combien de clients sont des hommes, célibataires et sans enfant ?
  • Question 5 : Combien de clients sont des femmes avec 1 ou 2 enfants ?
  • Question 6 : Combien de clients sont mariés ou en concubinage, avec un revenu supérieur ou équivalent à 50000 et qui ont au moins 2 enfants ?

La solution pour la question 1 est :

=ET(E2="Marié";F2=1)*1

La solution pour la question 2 est :

=OU(E2="Célibataire";E2="Divorcé")*1

La solution pour la question 3 est :

=ET(E2="Marié";D2>75000)*1

La solution pour la question 4 est :

=ET(C2="Homme";E2="Célibataire";F2=0)*1

La solution pour la question 5 est :

=ET(C2="Femme";OU(F2=1;F2=2))*1

La solution pour la question 6 est :

=ET(D2>=50000;F2>=2;OU(E2="Marié";E2="Concubinage"))*1

Comme vous le constatez, un test sur une chaîne de caractères est entre guillemets, alors que sur une valeur numérique, la valeur s'écrit sans guillemets.

Comprendre chaque partie de la fonction

Si vous avec des difficultés pour comprendre chaque partie qui compose l'écriture de chaque formule, vous pouvez vous aider du raccourci F9 pour détailler chaque partie de la formule.

Utiliser ET et OU dans la fonction SI

Dans notre exemple, nous avons opté pour retourner un résultat sous forme de 0 ou 1. Mais vous pouvez personnaliser le résultat en utilisant la fonction SI.

=SI(ET(E2="Marié";F2=1);"Sélectionné";"")

Vous trouverez des informations complémentaires sur les fonctions ET et OU sur le site de Microsoft.

Vidéo explicative

29 Comments

  1. Cynthia
    26/11/2020 @ 15:53

    Bonjour,
    J'aimerais un peu d'aide pour réaliser la formule suivante:
    Je saisis une valeur soit dans D5 ou E5, Si la valeur est saisie dans D5 faire le calcul D5*C5 ou si elle est saisie dans E5 faire le calcul E5*C5;
    Merci d'avance pour votre aide.
    Cynthia

    Reply

  2. Elodie SABOURDY
    18/11/2020 @ 10:03

    Bonjour,

    J'ai cette formule dans mon tableau : =SI(ET(I76>0;OU(I76>=$CY$2;I76<=$CY$1))=VRAI;I75;" ") sauf quelle ne me convient pas vraiment. En effet, sur cette dernière, il est stipulé que si I76 est supérieur alors 0 alors on fait la suite. Sauf que je mets dans I76 des températures, donc elles peuvent positives comme négatives. J'aimerais donc mettre si I76 est rempli alors alors on fat la suite. Mais si je mets I76"", ça ne fonctionne pas, pouvez-vous m'aider ?
    Merci par avance
    Cordialement

    Reply

  3. Audrey
    17/07/2020 @ 15:24

    Bonjour

    J'ai un tableau où figurent des noms en lignes et des dates en colonne.
    Chaque personne a des dates d'attributions de dossiers pour 8 types de dossiers différents (colonnes). Pour chaque Type une colonne date et une colonne volontaire (ou je met une croix ou non)

    le tableau se présente ainsi :

    Type 1 Type 2
    NOM date volontaire date volontaire Dernière intervention
    robert x 06/06/2020 x 06/06/2020
    gerard 01/07/2020 x 07/08/2019 x 01/07/2020
    lucile x

    Je souhaite que dans la colonne dernière intervention il y ai noté la date de dernière intervention. Jusque là tout vas bien je met la formule :
    =MAX(C13;E13;G13;I13;K13;M13;O13;Q13) (C,E,G,I,K,M,O,Q sont mes colonnes "dates" et 13 est une des lignes "nom")

    Seulement pour les personnes n'ayant pas intervenues, donc dont les cases dates sont toutes vides, il apparait dans la case "derniere intervention" une date aléatoire "00/01/1900".

    Je souhaiterais qu'il apparaisse soit rien donc " " soit 0, soit une mention du type "non intervenu".

    J'ai tenté de mixer la formule MAX avec la formule SI mais je m'y prends surement mal puisque désormais il apparait presque toujours rien donc " ".

    Voici la formule que j'ai tapé (sachant que je dois faire cellule par cellule pour ne pas être embêtée par les cases "volontaire") :

    =SI(C17=0;" ";SI(E17=0;" ";SI(G17=0;" ";SI(I17=0;" ";SI(K17=0;" ";SI(M17=0;" ";SI(O17=0;" ";SI(Q17=0;" ";MAX(C17;E17;G17;I17;K17;M17;O17;Q17)))))))))

    Comment corriger ? Peut etre avec SI ERREUR ?

    Reply

    • Frédéric LE GUEN
      18/07/2020 @ 10:02

      C'est un tableau de bord complet que vous me demandez de vous réaliser. Ceci rentre dans le cadre de mon travail de consultant. Voulez-vous qu'on s'appelle pour réaliser un chiffrage ?

      Reply

  4. San
    21/06/2019 @ 11:03

    Bonjour,

    Je cherche à faire un formule conditionnelle avec pour base une cellule contenant du texte et des chiffres.

    Voici le contenu de mes cellules "base :

    9 HCM
    2 HTD

    Je voudrait arriver à faire un condition de avec résultat chiffré uniquement. Mes conditions sont:

    - si la cellule contient "HCM", utiliser le chiffre multiplié par 1.5 (soit ici : 9 *1.5 => résultat 13), sinon garder juste le chiffre d'origine (soit ici 9)

    J'ai trouver une formule pour le 1ère condition soit : =SUBSTITUE(L(3)C(-1);"HCM";"")*1,5 mais je n'arrive pas à ajouter le 2e partie de la condition.

    Merci d'avance pour votre aide

    Reply

  5. Slim
    20/06/2019 @ 13:55

    Bonjour,

    J'ai un petit soucis pour créer une feuille de caisse pour mon restaurant.

    En gros, j'ai deux caisses, que je compte le midi et le soir.

    Je rentre dans un tableau toutes les informations (pièces, rouleaux et billets) et cela me donne le total (fond de caisse + chiffre d'affaires en espèces)

    Mon fond de caisse est à 100 €

    J'ai une case qui affiche mon CA réel. Le problème est que tant que je ne l'ai pas compté, cette case affiche "-200" car les deux fond de caisses sont déduits des 0€ de CA.

    Ce que je veux faire est la chose suivante:
    - Afficher 0 si aucun des fonds n'est encore compté
    - Si une seule caisse est comptée, déduire 100€ du total
    - Si les deux caisses sont comptées, déduire 200€ du total

    Je joue donc avec les conditions:
    - J26 est le total de la caisse 1
    - L26 est le total de la caisse 2
    - "non" est juste pour le test

    Voici mes formules qui marchent:
    =SI(ET(J26=0;L26=0);0;non)
    =SI(OU(J26=0;L26=0);J26+L26-100;non)
    =SI(ET(J26>0;L26>0);J26+L26-200;non)

    Je veux n'en faire qu'une seule et quand je la rentre cela m'affiche "NOM?" :

    =SI.CONDITIONS((ET(J26=0;L26=0));"0"; (OU(J26=0;L26=0));J26+L26-100; (ET(J26>0;L26>0));J26+L26-200)

    Pouvez-vous m'aider svp ? :)

    Reply

  6. PaulineOsc
    23/05/2019 @ 15:46

    Bonjour,
    J’aimerais afficher « vrai » en colonne AZ pour les contacts(lignes) dont l‘un des champs "tel" (colonne AP) ou "tel portable"(colonne AQ) ou "email" est non vide (colonne AS).
    Le but du jeu est de garder uniquement les contacts dont au moins une des infos est disponibles.

    Voici ma tentative qui ne donne pas les bons résultats : =SI(OU(AP5"";AQ5"";AS5"");VRAI)
    Une idée?

    Reply

  7. Prisc
    12/07/2018 @ 17:01

    Bonjour,

    J'ai cette formule, quelqu'un peut m'aider à trouver l'erreur svp

    =SI(OU(ET(N2=1;O2=1);ET(N2=1;O2=2);ET(N2=1;O2=3);ET(N2=1;O2=4));1;SI(OU(ET(N2=2;O2=1);ET(N2=2;O2=2);ET(N2=2;O2=3);ET(N2=2;O2=4));2;SI(OU(ET(N2=4;O2=1);ET(N2=3;O2=1);ET(N2=3;O2=2);ET(N2=3;O2=3));3;SI(OU(ET(N2=5;O2=1);ET(N2=4;O2=2);ET(N2=4;O2=3);ET(N2=3;O2=4));4;SI(OU(ET(N2=5;O2=2);ET(N2=5;O2=3);ET(N2=5;O2=4);ET(N2=4;O2=4));5;"")))))

    Reply

  8. Menard
    10/03/2016 @ 10:22

    Bonjour,

    je souhaite avoir une réponse car je n'arrive pas à écrire ma formule

    J'ai un tableau pour préparer mes commandes et les niveaux de remises

    Quantité à commander pour le mois de mai
    Quantité à commande pour le mois de juin
    Quantité à commande pour le mois de juillet

    Remise pour le mois de mai = 4%
    Remise pour le mois de juin = 3%
    Remise pour le mois de juillet = 2%

    dans une cellule je souhaiterais récupérer le bon niveau de remise applicable

    Je voudrais dire

    si en mai, il y a une quantité alors on applique 4% de remise
    mais il faut que les cases de juin et juillet soient vides
    si en juin, il y a une quantité alors on applique 3% de remise
    mais il faut que les cases de mai et juillet soient vides
    si en juillet, il y a une quantité alors on applique 2% de remise
    mais il faut que les cases de mai et juin soient vides

    et si les cases de mai et juin sont remplies alors appliquer une remise de 4% sur le quantitatif de mai et une remise de 3% pour le quantitatif de juin
    etc

    et si les cases de mai, juin et juillet sont remplies alors appliquer une remise de 4% sur le quantitatif de mai et une remise de 3% pour le quantitatif de juin et une remise de 2% pour le quantitatif de juillet.

    et ainsi de suite pour tous les cas de figure.

    Merci par avance de votre retour.

    Cordilament

    Reply

  9. delalandre
    02/12/2015 @ 18:30

    bonjour ,
    j'aimerai automatiser le remplissage de ma base de données concernant notre activité de vente d'huitres

    colonne A Nom
    colonne B Quantité
    colonne C panier
    colonne D Numéro
    colonne E Prix

    colonne B : deux choix 50 ou 100
    colonne D :quatre choix 0;2;3;4

    j'aimerai quand je choisis
    colonne B 50 Colonne D 0 dans la colonne E apparaisse prix 1
    colonne B 100 Colonne D 2 colonne E prix 2
    je pense que c'est avec les ou et les et mais je me perds un peu
    Pouvez vous m'aider?

    Reply

    • delalandre
      02/12/2015 @ 18:48

      je crois que j'ai trouve
      SI(ET(C9=100;E9=2);$S$5;SI(ET(C9=50;E9=2);$S$6;SI(ET(C9=100;E9=3);$S$7;SI(ET(C9=50;E9=3);$S$8;SI(ET(C9=100;E9=4);$S$9;SI(ET(C9=50;E9=4);$S$10;SI(ET(C9=100;E9=0);$S$3;SI(ET(C9=50;E9=0);$S$4))))))))
      bon il y a peut etre plus simple mais cela à l'air de fonctionner sauf que le colonne B est devenue C et la D E
      Merci pour votre site

      Reply

  10. ANONYMOUSS
    09/11/2015 @ 18:50

    A partir d'un fichier là dessus, je souhaite calculer: marié avec 1 ou 2 enfants, et concubinage avec 2 ou 3 enfants sont égaux à 1, le reste 0. Donc, j'ai écrit:

    =SI(ET(E2="Marié";OU(F2=1;F2=2);&et(E2="Concubinage";OU(F2=2;F2=3));1;0)

    Mais ça ne marche pas!! Comment fais-je?

    Merci beaucoup par avance

    Reply

  11. Claire
    26/10/2015 @ 18:56

    Bonjour, j'essaie de créer une formule qui permettra de me dire oui si la réponse et "bleue" ou "turquoise". J'ai ceci :=SI(B1=(OU("bleue";"turquoise"));"Oui";"Non"

    il m'indique #VALEUR !

    Sauriez vous me dire où se situe ma/mes faute(s) ?

    Merci beaucoup

    Reply

    • Frédéric LE GUEN
      27/10/2015 @ 03:03

      Il suffit d'écrire =SI(OU(B1="Bleue",B1="Turquoise"),"Oui","Non")

      Reply

  12. Simo
    11/09/2015 @ 12:05

    Comment imbriquet si(et(ou(

    Reply

  13. lpatlan
    11/03/2015 @ 17:45

    jai une question comment cette formule:jackpot "sinon" rien "

    NOM CA APPRECIATION
    Adam 80 000,00 €
    Eric 52 000,00 €
    Gérald 45 000,00 €
    Franck 63 000,00 €
    Jérémy 89 000,00 €
    Anaelle 100 000,00 €
    Jullia 69 000,00 €
    Samantha 78 000,00 €
    Axel 49 900,00 €

    merci

    Reply

    • Frédéric LE GUEN
      11/03/2015 @ 23:26

      C'est quoi la question ?

      Reply

      • Tituss85
        26/07/2015 @ 13:46

        Peux tu me venir en aide sur des fonctions "SI"

  14. Eric Bl
    24/01/2015 @ 16:58

    Bonjours j'ai finalement trouver réponse tout seul a ma question en farfouillent.
    Vous devez simplement vous créez un (format de cellule personnaliser ) et lui inscrire ce si ##0;;0 et votre résulta
    ne tiendra pas conte des résulta négatif

    Reply

  15. Eric Bl
    24/01/2015 @ 15:40

    bonjours je voudrai savoir comment faire pour que excel ignore les résultats négatif , je voudrai que mon résulta qui est exemple -59 me donne 0 a la place sans que jais a changer manuellement le résulta. Merci pour votre aide d'avance !!!(jai excel 2010)

    Reply

    • Denis
      07/01/2018 @ 18:12

      Eric, utilisez la fonction SI.
      Par exemple, SI(B2<0;0;votre calcul qui de temps en temps donne une valeur négative)

      Reply

  16. Frédéric LE GUEN
    17/12/2014 @ 14:30

    Si tu as Excel 2013, essaye de le faire avec le remplissage instantané
    https://www.excel-exercice.com/extraire-du-texte-sans-formule/

    Reply

    • Eric Moreau
      17/12/2014 @ 22:25

      Merci Mr. Guen.. j'ai regarder la vidéo... très intéressant et réponse très clair... sauf que sa je pourras pas fonctionner dans mon cas.. car ma liste provient de solidworks, et doit rester en solidworks. je peut utiliser des formules dans mes tableau déjà au préalable déjà inscrit sur une bonne centaine de lignes. Lorsque j'insère ma nomenclature dans ma mise en plan Solidworks. le tout se remplie automatiquement ... je suis en mesure de recuperer mes 6 ou 7 dernier carectère mais pas d'effacer les zero en mode automatique sans que j'ai a toucher manuellement pour eviter tout erreur de production...

      Bien a vous Eric

      Reply

    • Eric Moreau
      22/12/2014 @ 20:29

      Allo Fréderic sa ne marche toujours pas....

      Reply

  17. yanistelo
    23/11/2014 @ 08:08

    Bonjour et merci pour vos explications.
    je cale pour ma part sur un problème si vous pouviez m'éclairer, ce serait génial.
    le voici:
    dans 4 cellules différentes, j'ai saisi les mots
    courts
    longs
    900
    56

    dans une autre cellule, je saisis une valeur
    si la valeur saisie est inférieure à 900 et si la correspondance de court est égale à 1 (1 que j'aurai saisi dans la cellule à côté de court), OU si la valeur saisie est inférieure à 56 et la correspondance de long est égale à un, alors "OK" sinon "Mauvais"

    j'ai beau tourner et retourner mes formules dans tous les sens je n'obtiens pas les résultats attendus

    Merci d'avance

    Reply

  18. Anonyme
    14/01/2014 @ 11:27

    Bonjour
    Dans le 3eme paragraphe, il est écrit "Ces sont très souvent...".
    J'imagine qu'il faut lire "Ces fonctions sont très souvent..."

    Reply

    • Frédéric LE GUEN
      14/01/2014 @ 12:55

      C'est corrigé, merci :)

      Reply

  19. Anonyme
    23/07/2013 @ 14:58

    salut! l'exercice est bien interessant mais chez moi je trouve toujours 0 comme resultat.
    aidez-moi

    Reply

  20. Anonyme
    15/05/2013 @ 07:28

    puis-je avoir les réponses à vos problèmes

    Reply

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.

MICROSOFT MVP

RECHERCHE D’EMPLOI AVEC