MVP Logo
Facebook Logo

↑ Retour à Condition

 

Fonction SI

Bookmark and Share
La fonction SI vous permettez d'afficher différents résultats dans une cellule en fonction de la valeur d'une ou plusieurs autres cellules.

Présentation

La fonction SI effectue un test logique qui va retourner 2 valeurs (ET UNIQUEMENT 2) : VRAI ou FAUX

La fonction SI se décompose en trois parties

  • Le test
  • Le résultat si le test est vrai
  • Le résultat si le test est faux

 

=SI(test;Si test est VRAI;Si test est faux)

Ecriture

Si vous souhaitez afficher dans une cellule du texte, il faut alors écrire vos conditions vrai et fausse entre guillemet.

=SI(test;"Accepté";"Refusé")

C'est également en utilisant des guillemets que vous pouvez écrire un résultat vide. En effet si vous omettez le paramètre FAUX dans votre formule, Excel écrira le terme FAUX dans la cellule (dans le cas où le résultat de votre test est faux). Donc pour éviter cela, il est nécessaire d'écrire "" plutôt que de laisser le paramètre vide

=SI(test;"Accepté";"")

Pour les chiffres ou pour les formules, vous écrivez vos paramètres VRAI ou FAUX sans guillemet comme par exemple

=SI(test;A1-B1;A1-C1)

Test logique

La première partie de la fonction SI est un test logique. Un test logique une comparaison entre 2 éléments. Vous pouvez avoir comme possibilité

Cas pratique : Match de football

Prenons l'exemple suivant d'un résultat de match de football. Nous souhaitons afficher Gagné ou Perdu quand les équipes de la colonne A ont un score plus élevé que celui de l'équipe de la colonne D

Pour la première cellule en E2, vous écrivez alors

=SI(B2>C2;"Gagné";"Perdu")

Remplissez le reste du document directement dans le classeur ci-dessous.

Bien évidemment, un match peut être soit gagné, soit perdu, ou encore que le résultat soit sans gagnant ou sans perdant en cas d'égalité. Nous devons donc traiter non pas 2 possibilités mais 3. Dans ce cas de figure, il faut inclure une seconde fonction SI dans le paramètre FAUX de la première. Vous allez écrire pour la cellule E2 :

=SI(B2>C2;"Gagné";SI(B2<C2;"Perdu";"Nul"))

Remplissez le document suivant

Exercice : Donnez une mention

Vous avez la liste des notes pour les élèves d'une classe. En colonne E vous avez la moyenne pour chaque élève. En colonne F, indiquez si les élèves sont reçus ou recalés quand ils ont obtenu au moins 10.

Essayez de modifier votre formule en E2 pour afficher

  • Recalé quand la moyenne est inférieur à 10
  • Accepté quand la moyenne est comprise entre 10 et 12
  • Mention Assez Bien quand la moyenne est comprise entre 12 et 14
  • Mention Bien quand la moyenne est comprise entre 14 et 16
  • Mention Très bien quand la moyenne est à plus de 16

=SI(E2<10;"Recalé";SI(E2<12;"Accepté";
SI(E2<14;"Assez bien";SI(E2<16;"Bien";"Très bien"))))

Vous avez également la possibilité d'utiliser la fonction RECHERCHEV (valeur proche) pour vous éviter d'écrire autant de SI imbriqués. Dans cette fiche, vous retrouverez le même exercice mais traiter avec la fonction RECHERCHEV.

// ]]>

Exercice : Gestion de stock

Vous gérez les stocks et les commandes d'une entreprise. Vous ne pouvez pas honorer une commande si vous n'avez pas la totalité de la quantité demandée. Donc vous allez créer une fonction SI qui va vérifier que vous possédez la quantité commandée. Si votre stock est inférieur, vous ne pouvez livrer que la quantité que vous possédez.

Vous pouvez par exemple écrire la fonction suivante :

=SI(C3<B3;C3;B3)

Pour la deuxième partie de l'exercice, vous devez déclencher une commande auprès de vos fournisseurs si vous n'avez pas pu honorer l'intégralité de la commande. Pouvez écrire la formule de façon différente pour un résultat équivalent

=SI(D4<B4;B4-D4;"")

ou encore

=SI(D4=C4;B4<D4;"")

Exercice : Portefeuille d'actions

Vous avez un portefeuille d'actions. En colonne C vous avez le prix d'achat et en colonne D le dernier cours.
Ecrivez le résultat en colonne E si vous gagnez de l'argent ou en F si vous êtes en perte. Le résultat doit aussi prendre en compte la quantité d'actions que vous possédez.
Ensuite vous faites la somme des colonnes E et F puis en cellule E9, vous faites la différence entre les cellules E8 et F8 pour savoir si vous êtes en gain ou en perte.

La solution est dans la feuille suivante (mais c'est mieux si vous le faîtes vous même ;) )

40 commentaires

Passer au formulaire de commentaire

  1. Aimé SADO

    Bonsoir
    s'il vous plait j'ai un problème avec cette formule
    J'ai nommé les cellules correspondants à Class, IP et VBS
    Et replissant les conditions fixées dans la formule je parvient pas a obtenir A2 comme attendu.
    Pouvez vous m'aider?

    =SI(ET(Class="A",OU(12%<IP<=25%,2.5<VBS<=6)),"A2",)

  2. eva notty

    Super article, bravo !

  3. kouame

    bonjour aidé moi à paramétré cette fonction:
    si le montant de la cellule est comprise entre
    0-5000 = 0f
    5001-100000f= 100f
    100001-500000= 500f
    500001-1000000=1000f
    1000001-5000000=2000f
    au delà de 5000000=5000f

  4. haya

    Bonjour
    je ne parviens pas à trouver la fourmule qui me donne la date de début de mois si dans un cellule j'ai une date indiqué.
    exemple cellule A1 = 18/03/2013
    je souhaiterais qu'avec une formule soit undiqué en B2 le 01/03/2013, puisque 1er jour du mois.

    aussi de même pour le dernier jour

    merci de votre aide

    h

  5. gladys

    bonjour

    Je n arrive pas a trouver la formule exacte pour ce problème. Pourriez vous m'aider
    je dois classer par categories des tranches differentes ex: moins de 3000 cat 1, de 3000 a 4000 cat 2, de 4000 a 6000 cat 3 etc ...

    merci d avance de votre aide

    1. zohir

      =SI(B1<3000;"cat1";SI(B1<=4000;"cat2";SI(B1<=6000;"CAT3";"")))

  6. Christiane

    Bonjour Monsieur Leguen, dans la colonne D apparait 47 heures et 20 minutes ; est-il possible de transformer en colonne E 47h20mn en centièmes d'heures ?

    A B C D E F G vide H I vide J K Lvide M

    2012 semaine 35 47,20 12,20 8,00 4,20 126,87 79,97

    puis, je n'arrive pas à extraire en colonne H le nbre d'heures comprises en colonne F qui doit être entre supérieur ou égale à 0 mais inférieure ou égale à 8, en sachant qu'en colonne F j'ai appliqué =SI(D10<=35;0;D10-35) et en colonne J j'ai appliqué
    =SI(D10<=43;0;D10-43). Pourriez-vous m'aider, en vous remerciant vivement, Sincèrement, Christiane

  7. lucie

    sur excel j'aimerais utiliser une fonction si
    si A1 est inférieur à B1 alors affiché A1
    mais je n'y arrive pas.
    Pouvez vous m'aider ?
    merci d'avance

  8. Estelle

    Bonjour,

    j'aimerais utiliser une formule "si" seulement je voudrais figer la valeur par la suite.
    Exemple si (B1=C1;A1;""), la case A1 contient une formule et je voudrais avoir la valeur. Par la suite, si le contenu de A1 change, j'aimerais que la valeur obtenue précédemment ne change pas.

    Merci

  9. her

    suis-je claire ?
    Pouvez vous m'aider svp

  10. her

    Bonjour,

    J'ai besoin d'aide : en feuille 2 j'ai une liste de déroulante en b1 car en A1 j'ai un code qui s'y référe.

    Sur ma feuille excel lorque le salarié va chercher un motif dan la liste de déroulante, je voudrai que dans la colonne juste avant le code qui s'y référe vienne automatiquement. MAis je ne trouve pas la formule.
    Suis-je cl

  11. Laurence

    Bonjour
    j'ai un souci pour faire un calcul d'heures supplémentaires

    C10 = heure deb matin
    C11 = heure fin matin
    C13 = heure deb après midi
    C14 = heure fin après midi

    si la personne fait des interventions entre 6 et 9 le matin alors je passe en heure supplémentaire à 25 %
    si la personne fait des interventions avant 21 heures je passe en heure supplementaire à 25%

    =IF(AND(C10>=6;6;C10<9;C13<21);(9-C10)+(21-C13);(21-C13))

    la fonction fonctionne très bien si les case des heures sont remplies, par contre si au moins ma cellule C13 est vide , je recupère la valeur 21.... logique puisque je demande (21-C13)
    j'ai essayé d'insérer une condition supplémentaire qui me dirait si Cellule vide ALORS rien
    mais rien ne fonctionne correctement

    auriez vous une piste à me conseiller,

    Merci
    Laurence

  12. Armel De quesnay

    Bonjour

    J'ai besoin d'aide, j'essaye d'utiliser la fonction imbriquée SI mais ça ne marche pas.

    =SI(C32=0;"tu n'as pas encore fais de cb";SI(0<C32<=5;"bravo garde cette allure";SI(5<=C32<10;"quel talent";SI(10<=C32=15;"tu es le meilleur")))))

    1. Frédéric LE GUEN

      C'est normal que ça ne fonctionne pas. Vous ne pouvez pas mettre la référence d'une cellule entre 2 valeurs. Au mieux il faut écrire ET(C32>0;C32<5). Mais tel que vous écrivez votre problème, il faut plutot utiliser la fonction RECHERCHEV en valeur approchante http://www.excel-exercice.com/fonction/recherche-reference/recherchev-parametre-1/

  13. Cate

    Bonjour,

    Je cherche un à faire un tableau avec trois codes TVA différentes mais en mettant les Code1, Code2, Code3.
    Je ne me souviens plus comment j'avais fait !
    Ce serait pour faire plusieurs factures différentes (genre devis) qui me feraient gagner du temps !

    Merci de me faire "retrouver la mémoire" et merci pour tous vos tutoriaux et vidéos !

    Cate

  14. greg

    Bonjour,

    Je souhaiterais savoir s'il est possible d'utiliser une fonction SI dans le cas suivant :

    Si ma valeur est vrai, je souhaite que ma case de résultat indique un chiffre (exemple SI(D19="oui";18;"")

    Mais si ma valeur est fausse, je souhaite que l'utilisateur puisse indiquer le chiffre qu'il souhaite, sans effacer la formule ci dessus.

    Cela est-il possible?

    Merci d'avance

  15. Géraldine974

    Bonjour,

    Je souhaiterais écrire comme formule : si la cellule H9 contient oui alors le résultat est égal à 7 sinon 0

    Merci d'avance.

    1. greg

      SI(H9="oui";7;0)

      Normalement, ça marche!

      1. Géraldine974

        Merci beaucoup ça marche!

  16. sophie

    Bonjour,
    Dans cette formule :=SI(J4=0;SI(Q4=0;H4;"")) qu'est ce qu'il cloche pour que la case m'annonce FAUX.
    Il y a une troisième condition que je n'arrive pas à intégrer (si(J4=H4;"")
    Avez vous une idée, je vous remercie beaucoup.
    Sophie

    1. Frédéric LE GUEN

      Il faut mettre le deuxième SI dans le paramètre FAUX de votre première fonction SI (comme dans l'exemple donné avec les résultats de football). N'hésitez pas à changer les valeurs dans les documents pour voir le résultat retourné se modifier

  17. Epifanny

    Bonjour,

    j'ai besoin d'aide, je recherche une formule SI pour des calcul de note.
    Cas 1 : note d'examen > note contrôle continu "note d'examen"
    Cas 2 : note d'examen < note contrôle continu "moyenne des deux notes (examen et contrôle continu)"

    Je ne sais pas comment inclure un calcul de moyenne dans une formule SI ...

    1. Frédéric LE GUEN

      Mettez simplement =SI(Note d'examen < MOYENNE(plage de cellules des notes);VRAI;FAUX)

  18. Charlotte

    Bonsoir,
    Dans la colonne D, j'ai des emails (tout les champs ne sont pas remplis car certaines personnes n'ont pas donnés leur email, et on me demande dans la colonne H de renseigner si il y a une adresse email ou non, donc je dois avec soit oui soit non, c'est une valeur SI ? Mais je ne vois pas comment je fait...

    1. Frédéric LE GUEN

      Simple
      =Si(SUPPRESPACE(Dx)="";"Pas de mail";Dx) remplacer x par le numéro de ligne

  19. puech

    bonjour,

    je souhaite écrire une formule pour un calcul de tva.
    Si la tva collectée - tva déductible >0 alors écrire dans la colonne tva à payer le montant
    jusqu'à là pas de problème par contre lorsque le montant obtenu < 0 il faudrait que la formule me renvoi le montant du crédit dans la colonne crédit et me mette 0 dans la tva à payer.
    Est ce possible de faire un renvoi sur une autre cellule ?

    Merci d'avance
    Mme puech

    1. Frédéric LE GUEN

      Bonjour,
      Il faut faire 2 formules SI dans chacune de vos colonnes.
      La première =SI(collectée-déductible>=0;collectée-déductible;"")
      La seconde =SI(collectée-déductible<0;déductible-collectée;"")

  20. Gil Sand

    Beaux et bons exercices, joliment expliqués :)

  21. Julien

    Bonjour,
    est il possible de laisser une cellule vide si la condition n'est pas remplit ?

    1. Gil Sand

      Oui, dans la condition désirée (dans ton cas donc, quand le test est faux), il suffit d'entrer "" (deux fois des guillemets). Ainsi, Excel comprend qu'il doit écrire ce qu'il y a entre les guillemets, c'est-à-dire rien.

      =SI(A1>B1;"VRAI";"") Ici, cette formule écrira VRAI si A1 est plus grand que B1, et n'écrira rien si le résultat est plus petit ou égal.

    2. Frédéric LE GUEN

      Bonjour
      Oui, il suffit pour cela d'inscrire "" (2 guillemets) dans la partie Faux de la fonction

  22. Coum

    Bonjour,

    Je cherche en ayant la réponse "vrai" ou "faux" dans une seule cellule
    vrai <= 2% sinon faux
    seulement je veux avoir ce résultat pour une suite de valeur
    ex: E1 = 1,2% E2= 1,6% E3= 2,5%
    vu que E3 est supérieur à 2% je voudrais que le résultat affiché soit faux malgré que seul une valeur dépasse
    j'ai rentré la fonction suivante
    =SI((E1<=2%;E2<=2%;E3<=2%;E4<=2%;E5<=2%;E6<=2%);"vrai";"faux")
    mais cela ne marche pas
    Pouvez-vous m'aider?

    Merci

    1. Frédéric LE GUEN

      Et en mettant des fonctions ET ou OU dans vos formules, ça ne solutionne pas le problème ?

  23. bongo

    il est bon ce sites

  24. jean louis

    Bonjour,

    j'ai besoin d'aide, je recherche une formule pour :

    établir des prix de vente en fonction du poids saisi

    ex:
    de 0 à 500 gr = 3.60 €
    de 501 à 1000 gr =4.10 €
    de 1001 à 2000 gr = 4.72 €
    etc.....

    1. Frédéric LE GUEN

      Bonjour,
      Quand vous avez une recherche par tranche comme vous souhaitez le faire, il faut utiliser la fonction RECHERCHEV http://www.excel-exercice.com/fonction/recherche-reference/recherchev-parametre-1/

  25. OUASSIM

    Bonjour;
    SVP j'ai besoin de votre aide a propos d'une application conditionnels :
    exemple: 1-si la cellule E1= confirmée, je veux que toutes les cellules A1, B1, C1, D1, deviennent tous rouge
    2- si la celleule E1=annullee, je veux que toutes les celleules A1, B1, C1, D1, deviennent tous bleu
    merci pour vous

    1. Frédéric LE GUEN

      Il faut utiliser les mises en forme conditionnelle pour cela.
      Je vous invite à voi mon dernier article sur les mises en forme conditionnelles sur les dates

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée.

Vous pouvez utiliser les balises HTML suivantes : <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>