Formule si
Résolu
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
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
-
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-
ContributeurBonjour
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 -
@VaucluseBonjour 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
-
-
ContributeurBojour
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-
-
Contributeur@VaucluseSalut 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 -
-
-