Fonction SI

Résolu
mag-mag Messages postés 8 Statut Membre -  
mag-mag Messages postés 8 Statut Membre -
Bonjour, j'essaie de créer une fonction SI dans un classeur Excel. J'ai essayé cette formule: =si(et(Y8>=151:Y8<=500;32;si(et(Y8>=501;Y8>=3200;125;si(et(Y8>=3201;Y8<=10000;200;si(et(Y8>=10001;Y8<=35000;315;si(et(Y8>=35001;Y8<=150000;500;si(et(Y8>=150001;Y8<=150;SOP360 ou AQ,""))))))
Je ne comprends pas à quel moment j'ai fait une erreur... j'ai lu tout ce que je pouvais trouver sur le sujet mais cela ne fonctionne pas...Pour info Y8 contient une formule et ma fonction SI doit s'appuyer sur le résultat de la formule dans Y8.

Pourriez-vous m'apporter votre aide?

Merci par avance.

3 réponses

  1. jordane45 Messages postés 30426 Date d'inscription   Statut Modérateur Dernière intervention   4 830
     
    Bonjour,

    si(et(Y8>=501;Y8>=3200

    Si >=3200 .. c'est forcément >501 ....
    erreur de signe non ?
    0
    1. jordane45 Messages postés 30426 Date d'inscription   Statut Modérateur Dernière intervention   4 830
       
      Et...

      si(et(Y8>=150001;Y8<=150

      pas possible.....
      0
    2. mag-mag Messages postés 8 Statut Membre
       
      Effectivement jordan45 erreur de signe, après rectification cela ne fonctionne toujours pas...
      Comment imbriquer dans ma formule que si Y8 est <à 151 ou >=150001 il faut voir "SOP360 ou AQ"?

      Merci pour ton aide!! je m'arrache les cheveux là! :-)
      0
  2. Vaucluse Messages postés 27336 Date d'inscription   Statut Contributeur Dernière intervention   6 453
     
    Bonjour

    si c'est bien la copie de la formule que vous nous montrez là
    • voyez avec les deux points au début de la formule, ici:


    =si(et(Y8>=151:Y8<=500)
    qui devrait être point virgule:
    =si(et(Y8>=151;Y8<=500)

    et ensuite, placez une parenthèse derrière chaque groupe de ET(....;....)

    si(et(Y8>=151:Y8<=500);32;si(et(Y8>=501;Y8>=3200);125....

    et il n'y a pas de logique ici: (2° groupe de ET)
    et(Y8>=501;Y8>=3200
    une valeur > que 501 ou de 3200???

    pas plus qu'ici:
    si(et(Y8>=150001;Y8<=150
    .. à la fois >150001 et plus petit que 150 ?.... pas facile, non?

    et enfin, si votre dernière condition est un texte , placer le entre guillemets
    ......;"SOP360 ou AQ",""))))))

    donc à reprendre soigneusement!!

    =SI(ET.....;....);valeur 1;SI(ET(....;.....);valeur 2;SI(ET etc...

    avec valeur entre guillemets si elle n'est pas numérique

    Crdlmnt

    La qualité de la réponse dépend surtout de la clarté de la question, merci!
    0
    1. mag-mag Messages postés 8 Statut Membre
       
      oui effectivement j'ai fait beaucoup d'erreur...un peu trop acharnée j'ai fini par faire pire que mieux!!!

      Si je mets cette formule cela ne fonctionne toujours pas....
      =SI(ET(Y8>=151;Y8<=500);32;SI(ET(Y8>=501;Y8<=3200);125;SI(ET(Y8>=3201;Y8<=10000);200;SI(ET(Y8>=10001;Y8<=35000);315;SI(ET(Y8>=35001;Y8<=150000);500)))));SI(Y8>=150001; "SOP360 ou AQ") ;SI(Y8<=150; "SOP360 ou AQ")

      POURQUOI JE N'Y ARRIVE PAS!! :-(
      0
    2. yg_be Messages postés 23437 Date d'inscription   Statut Contributeur Dernière intervention   1 588 > mag-mag Messages postés 8 Statut Membre
       
      bonsoir, as-tu un message d'erreur, ou un résultat inattendu?
      0
    3. mag-mag Messages postés 8 Statut Membre > yg_be Messages postés 23437 Date d'inscription   Statut Contributeur Dernière intervention  
       
      bonsoir yg_be,

      Non pas de message d'erreur, cependant le résultat ds ma cellule est #valeur!
      0
    4. mag-mag Messages postés 8 Statut Membre
       
      est-ce que le fait que Y8 contienne une formule peut être la cause de ce problème?
      0
    5. yg_be Messages postés 23437 Date d'inscription   Statut Contributeur Dernière intervention   1 588 > mag-mag Messages postés 8 Statut Membre
       
      tu continues à ne pas respecter la syntaxe du SI:
      SI (condition;valeursivrai;valeursifaux)

      tu as plusieurs SI suivis de seulement deux éléments entre les parenthèses qui suivent.
      par exemple, à la fin:
      SI(Y8<=150; "SOP360 ou AQ")

      si c'est trop compliqué, commence par une formule simple, et complique-là petit à petit.
      exemple:
      =SI(ET(.....;....);valeur 1;SI(ET(....;.....);valeur 2;valeur3))

      ou bien utilise plusieurs formules, construites les unes sur les autres.
      0
  3. Laurent
     
    Bonjour mag-mag,

    Je te propose cette formule (à mettre sur une seule ligne) :

    =SI(OU(Y8<151;Y8>150000);"SOP360 ou AQ";32+93*(Y8>500)
    +75*(Y8>3200)+115*(Y8>10000)+185*(Y8>35000))

    Teste-la et vérifie bien tous les cas possibles ;
    tu dois obtenir tous les résultats attendus.

    Cordialement, Laurent
     
    0
    1. mag-mag Messages postés 8 Statut Membre
       
      Merci pour ton aide Laurent!!!
      0