Si compris entre alors

Résolu
achill57 -  
telliak Messages postés 3652 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,
Voici mon problème,
je n'arrive pas a retranscrire cette phrase en code exel:

si N1 est inférieur à 169 alors rien, si N1 est compris entre 169.01 et 185 alors N1 moins 169*M3, et si N1 est supérieur a 185.01 alors (tout ce qui est au dessus de 185.01*M4 + ce qui est compris entre 169.01 et 185

svp cordialement

9 réponses

  1. achill57
     
    oui j'essay et voici ce que j'ai pu faire

    =SI(N1<=169;"rien";SI(169,01<N1<=185;(N1-169)*M3;SI(N1>185,01;(N1-185)*M4+16*M3)))

    cependant 1 seul defaut, lorsque n1 est comprit en 169.01 et 185 il me marque faux, pourquoi?
    1
    1. telliak Messages postés 3652 Date d'inscription   Statut Membre Dernière intervention   885
       
      Dans l'expression SI(169,01<N1<=185...
      1er temps la condition 169.01<N1 est évaluée et donne pour résultat vrai ou faux
      2ème temps si ce résultat (vrai ou faux) <=185 alors... faux à tous les coups.
      Tu ne peux pas enchaîner deux conditions comme tu le fais, il faut les décomposer.
      Qq chose comme Si(N1<=169;"";Si(N1<=185;(N1-169)*M3;(N1-185)*M4+16*M3))
      0
  2. rafit jad kuldinger Messages postés 9193 Statut Membre 1 155
     
    les conditions simpbole utilise sont :

    < (inferieur a )
    > (supperieur a )

    ce qui donne :
    si N1 < 169 =0 (enfin celon ce que tu veux afiche )
    si N1 => 169.01, si n1 <= 185= N1 - 169*M3
    si N1 > 185.01 = (tout ce qui est au dessus de 185.01*M4 + ce qui est compris entre 169.01 et 185--

    pour le reste je ne sais pas ... je ne me rappelle que de ses symbole logique ...

    pourquoi faire simple quand on peu faire compliqué ?
    0
  3. achill57
     
    oui je suis d'accord pour les symbole sauf que je galère a utilisé les bon ; et placer les "si" et les "et"... quelqu'un de performant?
    0
  4. rafit jad kuldinger Messages postés 9193 Statut Membre 1 155
     
    il te faut divise ta formule en sous segment simple ...
    chaque segment vérifiant chaque condition voulu ...
    un conseil affiche les résultat intermédiaire avant de faire la page final ...
    pour decele d eventuel "bug".

    0
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. rafit jad kuldinger Messages postés 9193 Statut Membre 1 155
     
    j ai dit que le mieux etait de divise en petit section ...

    exemple :
    =SI(N1<=169;"rien"

    SI(169,01<N1<=185;(N1-169)*M3

    SI(169,01>N1<=185;(N1-169)*M3 essais plutôt ca .....
    et oui tu a mi si 169.01 inférieur a ... au lieu de supérieure a ...

    SI(N1>185,01;(N1-185)*M4+16*M3)))

    pourquoi faire simple quand on peu faire compliqué ?
    0
  7. achill57
     
    mais dans ce que vous me dite sa veux dire,
    n1 et inférieur a 169 et supérieur a 185 ce n'est pas logique
    0
  8. rafit jad kuldinger Messages postés 9193 Statut Membre 1 155
     
    non les symbole :

    x < y : x est inférieur a y
    x > y : x est superviseure a y
    0
  9. Vaucluse Messages postés 27336 Date d'inscription   Statut Contributeur Dernière intervention   6 453
     
    Bonjour

    ......
    Achille avec presque raison, manquait que le <= au lieu de passer 169,01 etc....

    Au final,ce qui devrait donc donner comme formule

    =SI(N1<=169;"";SI(N1<=185;(N1-169)*M3;(N1-185)*M4+16*M3))


    vu qu'il s'agit probablement d'un calcul de somme due sur heures supplémentaires!
    crdlmnt

    Demandons nous si nous ne sommes pas seuls à comprendre ce que l'on explique?
    0
    1. UsulArrakis Messages postés 7683 Statut Contributeur 3 196
       
      Bonjour Vaucluse
      as-tu testé la formule ? car à voir comme ça si inf ou égal à 169 c'est forcément aussi inf à 185 donc le résultat n'est pas garanti.

      je mettrai plutôt
      =SI(N1<=169;"";SI(ET(N1>169;N1<=185);(N1-169)*M3;(N1-185)*M4+(N1-169)*M3))
      0
    2. Vaucluse Messages postés 27336 Date d'inscription   Statut Contributeur Dernière intervention   6 453
       
      Salut usul

      je crois en fait qu'il s'agit d'additionner:
      Si N1<169;0
      Si N1<185
      N1-169 soit un nombre à un taux M3 entre 169 et 185
      Si N1>185
      N1-185 soit un nombre à un taux M4 auquel on ajoute la constante de 185-169 au taux M3
      Donc
      La formule passe à la 1° condition si N1<169 puis s'arrête
      sinon passe à la suivante et calcule si N1<185, puis s'arrête
      sinon passe à la suivante pour appliquer la 3° condition
      Non, quelque chose m'échappe? Je ne crois pas en utilisant les < qu'il soit nécessaire d'encadrer les limites puisque les conditions s'appliquent dans l'ordre?

      Une autre remarque: si vraiment il s'"agit d'heure dans un format heure 169:00, la formule ne marchera pas avec les valeurs ci dessus qui devront être 169/24 et 185/24

      Qu'en penses tu?

      crdlmnt

      édit:
      soit ici http://www.cijoint.fr/cjlink.php?file=cj201109/cijenFwB3l.xls
      0
    3. telliak Messages postés 3652 Date d'inscription   Statut Membre Dernière intervention   885
       
      Je ne vois pas le plus par rapport à la solution que j'avais donnée... :-)
      0
    4. Vaucluse Messages postés 27336 Date d'inscription   Statut Contributeur Dernière intervention   6 453
       
      Bonjour telliak
      normal que vous ne voyez pas le plus; il n' y en a pas.
      simplement dans le fatras des messages plus où moins curieux qui défilaient, je ne l'ai pas vu.
      Mais rendons à César ce qui appartient à ce vieux Jules, et renvoyons donc à votre message N°8_ qui donne la solution correcte.
      Message qui je crois avait aussi échappé au demandeur.
      crdlmnt
      0
    5. telliak Messages postés 3652 Date d'inscription   Statut Membre Dernière intervention   885
       
      Brutus, je te remercie :-)
      0
  10. achill57
     
    la formule fonctionne merci beaucoup de votre aide, je reviendrai ^^
    0