Formule si

Résolu
Fanfan631954 Messages postés 2 Statut Membre -  
Fanfan631954 Messages postés 2 Statut Membre -
Bonjour,
je n'arrive pas à résoudre un problème de formule, j'ai une cellule si avec plusieurs conditions, dont le résultat est une somme, est juste et, à partir de ce résultat je veux, dans une autre cellule une autre fonction si pour avoir un %.
1ère formule qui fonctionne
=SI($H$19<125;"0";SI(ET($H$19>=125;$H$19<250);"250";SI(ET($H$19>=250;$H$19<500);"500";SI(ET($H$19>=500;$H$19<1000);"1000";SI(ET($H$19>=1000;$H$19<2000);"2000";SI(ET($H$19>=2000;$H$19<4000);"4000";SI(ET($H$19>=4000;$H$19<6000);"8000";SI($H$19>=6000;"12000"))))))))
seconde formule qui va chercher le résultat de la première et qui ne fonctionne pas
=SI(H26<250;"0";SI(ET(H26>=250;H26<500);"3";SI(ET(H26>=500;H26<1000);"6";SI(ET(H26>=1000;H26<2000);"9";SI(ET(H26>=2000;H26<4000);"11";SI(ET(H26>=4000;H26<8000);"14";SI(ET(H26>=8000;H26<12000);"16";SI(H26>=12000;"21"))))))))
pouvez-vous m'aider
merci

2 réponses

  1. PapyLuc51 Messages postés 4569 Date d'inscription   Statut Membre Dernière intervention   1 511
     
    Bonjour,

    Si tu mets des guillemets le résultat sera un texte et non pas un nombre, donc il faut les enlever de tes deux formules, comme ceci :

    la première

    =SI($H$19<125;0;SI(ET($H$19>=125;$H$19<250);250;SI(ET($H$19>=250;$H$19<500);500;SI(ET($H$19>=500;$H$19<1000);1000;SI(ET($H$19>=1000;$H$19<2000);2000;SI(ET($H$19>=2000;$H$19<4000);4000;SI(ET($H$19>=4000;$H$19<6000);8000;SI($H$19>=6000;12000))))))))

    la deuxième

    =SI(H26<250;0;SI(ET(H26>=250;H26<500);3;SI(ET(H26>=500;H26<1000);6;SI(ET(H26>=1000;H26<2000);9;SI(ET(H26>=2000;H26<4000);11;SI(ET(H26>=4000;H26<8000);14;SI(ET(H26>=8000;H26<12000);16;SI(H26>=12000;21))))))))

    cordialement
    0
    1. Vaucluse Messages postés 27336 Date d'inscription   Statut Contributeur Dernière intervention   6 453
       
      Bonjour
      on peut aussi en complément de ce que préconise Papyluc, simplifier la formule car il 'est pas utile de reporter les minima dans les conditions (Excel arrête de lire la formule quand il a trouvé la condition réalisée)
      Donc enlever les ET

      =SI(H26<250;0;SI(H26<500;3;SI(H26<1000;6;SI(H26<2000;9;SI(H26<4000;11;SI(H26<8000;14;SI(H26<12000;16;21)))))))

      ça fonctionne aussi bien et ça fait moins lourd

      le 21 viendra par défaut si les autres conditions ne sont pas remplies

      crdlmnt
      0
      1. PapyLuc51 Messages postés 4569 Date d'inscription   Statut Membre Dernière intervention   1 511 > Vaucluse Messages postés 27336 Date d'inscription   Statut Contributeur Dernière intervention  
         
        Bonjour Vaucluse

        J'allais faire une modification de ma réponse mais tu m'as devancé.
        La première formule peut aussi être allégée de la même façon

        Cordialement
        0
  2. michel_m Messages postés 18903 Date d'inscription   Statut Contributeur Dernière intervention   3 320
     
    Bojour
    sans les SI en cascade
    =INDEX({0;250;500;1000;2000;4000;6000;12000};EQUIV($H$19;{0;125;250;500;1000;2000;4000;6000};1))

    nota H19<0 non pris en compte
    mais le mieux est peut-^tre de faire un tableau à 2 colonnes et d'utiliser RECHERCHEV
    0
    1. Vaucluse Messages postés 27336 Date d'inscription   Statut Contributeur Dernière intervention   6 453
       
      Salut Michel
      heu.. ta proposition ne serait pas plutôt

      =INDEX({0;3;6;9;14;16;21};EQUIV($H$19;{0;125;250;500;1000;2000;4000;6000};1))

      parce que là, on renvoie la valeur cherchée?

      crdlmnt
      0
      1. michel_m Messages postés 18903 Date d'inscription   Statut Contributeur Dernière intervention   3 320 > Vaucluse Messages postés 27336 Date d'inscription   Statut Contributeur Dernière intervention  
         
        Salut Vaucluse

        je n'ai travaillé que sur la 1° formule :o)
        et une petite faute de frappe
        INDEX({0;250;500;1000;4000;8000;12000};

        mais on pourrait peut-être écrire sans rebondir sur H26

        =INDEX({0;3;6;9;14;16;21};EQUIV($H$19;{0;250;500;1000;4000;8000;12000};1))
        à vérifier
        0
    2. Vaucluse Messages postés 27336 Date d'inscription   Statut Contributeur Dernière intervention   6 453
       
      Effectivement, moi je n'avais réfléchi que sur la 2° :-(
      mais oui, vu la constitution des deux formules, et après test, cette dernière proposition fonctionne directement.
      Crdlmnt
      0
    3. Fanfan631954 Messages postés 2 Statut Membre
       
      merci à tous je ne connaissais pas INDEX
      0