Formule si

Résolu/Fermé
Signaler
Messages postés
2
Date d'inscription
jeudi 4 février 2016
Statut
Membre
Dernière intervention
4 février 2016
-
Messages postés
2
Date d'inscription
jeudi 4 février 2016
Statut
Membre
Dernière intervention
4 février 2016
-
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

Messages postés
3503
Date d'inscription
dimanche 3 mai 2009
Statut
Membre
Dernière intervention
25 novembre 2021
1 020
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
Messages postés
26301
Date d'inscription
lundi 23 juillet 2007
Statut
Contributeur
Dernière intervention
27 novembre 2021
6 127
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
Messages postés
3503
Date d'inscription
dimanche 3 mai 2009
Statut
Membre
Dernière intervention
25 novembre 2021
1 020 >
Messages postés
26301
Date d'inscription
lundi 23 juillet 2007
Statut
Contributeur
Dernière intervention
27 novembre 2021

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
Messages postés
16537
Date d'inscription
lundi 12 septembre 2005
Statut
Contributeur
Dernière intervention
25 novembre 2021
3 249
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
Messages postés
26301
Date d'inscription
lundi 23 juillet 2007
Statut
Contributeur
Dernière intervention
27 novembre 2021
6 127
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
Messages postés
16537
Date d'inscription
lundi 12 septembre 2005
Statut
Contributeur
Dernière intervention
25 novembre 2021
3 249 >
Messages postés
26301
Date d'inscription
lundi 23 juillet 2007
Statut
Contributeur
Dernière intervention
27 novembre 2021

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
Messages postés
26301
Date d'inscription
lundi 23 juillet 2007
Statut
Contributeur
Dernière intervention
27 novembre 2021
6 127
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
Messages postés
2
Date d'inscription
jeudi 4 février 2016
Statut
Membre
Dernière intervention
4 février 2016

merci à tous je ne connaissais pas INDEX