Excel fonction si alternative imbriquée
Résolu/Fermé
Pierre211
Messages postés
5
Date d'inscription
samedi 21 mars 2009
Statut
Membre
Dernière intervention
12 avril 2010
-
21 mars 2009 à 11:48
Raymond PENTIER Messages postés 58720 Date d'inscription lundi 13 août 2007 Statut Contributeur Dernière intervention 10 novembre 2024 - 22 mars 2009 à 00:49
Raymond PENTIER Messages postés 58720 Date d'inscription lundi 13 août 2007 Statut Contributeur Dernière intervention 10 novembre 2024 - 22 mars 2009 à 00:49
A voir également:
- Excel fonction si imbriquée 4 conditions
- Fonction si et - Guide
- Excel cellule couleur si condition texte - Guide
- Liste déroulante excel - Guide
- Fonction moyenne excel - Guide
- Liste imbriquée excel - Guide
15 réponses
michel_m
Messages postés
16603
Date d'inscription
lundi 12 septembre 2005
Statut
Contributeur
Dernière intervention
16 décembre 2023
3 310
21 mars 2009 à 13:38
21 mars 2009 à 13:38
Pierre, excuses moi de t'avoir dérangé en essayant de t'aider,mais c'est promis, ca ne se reproduira plus
--
--
Vaucluse
Messages postés
26496
Date d'inscription
lundi 23 juillet 2007
Statut
Contributeur
Dernière intervention
1 avril 2022
6 414
21 mars 2009 à 13:34
21 mars 2009 à 13:34
Bonjour
la meilleures solutions à mon avis, car votre formule n'est pas mauvaise:
Chaque nouvelle tranche vous donne une constante sur la tranche précédente:
soit entre autres:
De 10 à 20=1,1*10+0,07*10)=11,7
+ de 20 à 30=11,7+0,04*10=12,1
Il suffit de calculer ces constantes pour les intégrer dans vbotre formule qui vbous donnera quelues chose comme:
=SI(A1<=10;A1*1,1;SI(A1<=20;(A1-20)*0,07+11,7;SI(A1<=30;(A1-30)*0,04+12,1 .... ETC ...
Crdlmnt
la meilleures solutions à mon avis, car votre formule n'est pas mauvaise:
Chaque nouvelle tranche vous donne une constante sur la tranche précédente:
soit entre autres:
De 10 à 20=1,1*10+0,07*10)=11,7
+ de 20 à 30=11,7+0,04*10=12,1
Il suffit de calculer ces constantes pour les intégrer dans vbotre formule qui vbous donnera quelues chose comme:
=SI(A1<=10;A1*1,1;SI(A1<=20;(A1-20)*0,07+11,7;SI(A1<=30;(A1-30)*0,04+12,1 .... ETC ...
Crdlmnt
emerj
Messages postés
20
Date d'inscription
dimanche 18 juin 2006
Statut
Membre
Dernière intervention
30 mars 2009
21 mars 2009 à 13:43
21 mars 2009 à 13:43
à ce stade, tu dois expliquer plus clairement le fonctionnement de ton calcul
1) il y a un terme fixe perçu calculé pour chaque déplacement de 1.1€ par KM parcouru quelque soit la distance, plus un majoration variable par tranche de tarification ( on additionne la valeur de chaque tranche , alors)
ex je fais 22 km ===== 22*1.1 + 10*0.07 +2*0.04
2) il y a un terme fixe perçu calculé pour chaque déplacement de 1.1€ par KM parcouru quelque soit la distance, plus un majoration variable calculé sur la base de la tranche du kilométrage parcouru
ex je fais 22 km ===== 22*1.1 + 12*0.04
...
merci de tes explications
1) il y a un terme fixe perçu calculé pour chaque déplacement de 1.1€ par KM parcouru quelque soit la distance, plus un majoration variable par tranche de tarification ( on additionne la valeur de chaque tranche , alors)
ex je fais 22 km ===== 22*1.1 + 10*0.07 +2*0.04
2) il y a un terme fixe perçu calculé pour chaque déplacement de 1.1€ par KM parcouru quelque soit la distance, plus un majoration variable calculé sur la base de la tranche du kilométrage parcouru
ex je fais 22 km ===== 22*1.1 + 12*0.04
...
merci de tes explications
dna.factory
Messages postés
25346
Date d'inscription
mercredi 18 avril 2007
Statut
Modérateur
Dernière intervention
14 novembre 2024
1 613
21 mars 2009 à 11:53
21 mars 2009 à 11:53
décortique ta formule en 4 cases
dans la premiere case tu calcule le prix des 10 premiers kilometre
dans la deuxieme le prix des kilometres 11 à 20
ainsi de suite
et dans une cinquieme case : tu additione tout
quand tu auras réussi, reviens nous voir, si tu as toujours besoin d'aide pour regrouper les 4 formules en une
dans la premiere case tu calcule le prix des 10 premiers kilometre
dans la deuxieme le prix des kilometres 11 à 20
ainsi de suite
et dans une cinquieme case : tu additione tout
quand tu auras réussi, reviens nous voir, si tu as toujours besoin d'aide pour regrouper les 4 formules en une
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
michel_m
Messages postés
16603
Date d'inscription
lundi 12 septembre 2005
Statut
Contributeur
Dernière intervention
16 décembre 2023
3 310
21 mars 2009 à 12:37
21 mars 2009 à 12:37
Bonjour Pierre, dna,
une question similaire à la tienne a déjà été posée sur le forum
peut-être que son principe pourra t'aider:
https://www.cjoint.com/?dxmICTMyzV
attention: formule matricielle à valider par Ctrl+maj+entree et non par "entrée" comme d'hab
Excel met alors automatiquement les accolades qui encadrent la formule.
une question similaire à la tienne a déjà été posée sur le forum
peut-être que son principe pourra t'aider:
https://www.cjoint.com/?dxmICTMyzV
attention: formule matricielle à valider par Ctrl+maj+entree et non par "entrée" comme d'hab
Excel met alors automatiquement les accolades qui encadrent la formule.
Vaucluse
Messages postés
26496
Date d'inscription
lundi 23 juillet 2007
Statut
Contributeur
Dernière intervention
1 avril 2022
6 414
21 mars 2009 à 18:32
21 mars 2009 à 18:32
Excusez moi, j'avais cru que mon message 5 pouvait résoudre votre probkème de manière assez simple. Qu'en est il ? à votre avis?
... mais effectivement à la réflexion, ce n'est peut être pas tout à fait ça.Je reviens vaec ce que j'ai compris maintenant.
Crdlmt
... mais effectivement à la réflexion, ce n'est peut être pas tout à fait ça.Je reviens vaec ce que j'ai compris maintenant.
Crdlmt
xkristi
Messages postés
4264
Date d'inscription
lundi 18 décembre 2006
Statut
Membre
Dernière intervention
19 août 2022
564
21 mars 2009 à 18:46
21 mars 2009 à 18:46
' soir à tous
Simplement parce que Pierre avait bossé sur sa formule
si la distance est en B2
sa formule corrigée serait celle-ci (du moins je crois)
=SI(B3<=10;1,1;SI(B3<20;1,1+(0,07*(B3-10));SI(B3<=30;1,1+(0,07*10)+(0,04*(B3-20));1,1+(0,07*10)+(0,04*10)+(0,03*B3))))
Simplement parce que Pierre avait bossé sur sa formule
si la distance est en B2
sa formule corrigée serait celle-ci (du moins je crois)
=SI(B3<=10;1,1;SI(B3<20;1,1+(0,07*(B3-10));SI(B3<=30;1,1+(0,07*10)+(0,04*(B3-20));1,1+(0,07*10)+(0,04*10)+(0,03*B3))))
Vaucluse
Messages postés
26496
Date d'inscription
lundi 23 juillet 2007
Statut
Contributeur
Dernière intervention
1 avril 2022
6 414
21 mars 2009 à 19:05
21 mars 2009 à 19:05
'soir Xristi
Excuse moi d'abord, j'ai fait mon fichier pendant que tu envoyais ta réponse....
.. et la mienne revient au même a mon avis, sauf peut être sur la fin de la formule qui chez moi, se terminerait par .......+(0,03*(B3-30)))) si on voulait la coller sur la tienne.
On saura bientôt, je pense qui détient la vérité;
Dans les deux options,, je suis quand même un peu surpris du résultat dans les grands kilomètrages....?
En tous cas, il semblerait que comme d'hab, on se suit de près...!
Bien amicalement
Excuse moi d'abord, j'ai fait mon fichier pendant que tu envoyais ta réponse....
.. et la mienne revient au même a mon avis, sauf peut être sur la fin de la formule qui chez moi, se terminerait par .......+(0,03*(B3-30)))) si on voulait la coller sur la tienne.
On saura bientôt, je pense qui détient la vérité;
Dans les deux options,, je suis quand même un peu surpris du résultat dans les grands kilomètrages....?
En tous cas, il semblerait que comme d'hab, on se suit de près...!
Bien amicalement
xkristi
Messages postés
4264
Date d'inscription
lundi 18 décembre 2006
Statut
Membre
Dernière intervention
19 août 2022
564
>
Vaucluse
Messages postés
26496
Date d'inscription
lundi 23 juillet 2007
Statut
Contributeur
Dernière intervention
1 avril 2022
21 mars 2009 à 19:31
21 mars 2009 à 19:31
Holà mais tu as raison Vaucluse faut rajouter le -30
Bonne soirée à toi et à tous !
Bonne soirée à toi et à tous !
Vaucluse
Messages postés
26496
Date d'inscription
lundi 23 juillet 2007
Statut
Contributeur
Dernière intervention
1 avril 2022
6 414
21 mars 2009 à 18:59
21 mars 2009 à 18:59
Re
le fichier ci joint correspond il à votre attente?
crdlmnt
http://www.cijoint.fr/cjlink.php?file=cj200903/cijvaifv21.xls
le fichier ci joint correspond il à votre attente?
crdlmnt
http://www.cijoint.fr/cjlink.php?file=cj200903/cijvaifv21.xls
Pierre211
Messages postés
5
Date d'inscription
samedi 21 mars 2009
Statut
Membre
Dernière intervention
12 avril 2010
21 mars 2009 à 20:03
21 mars 2009 à 20:03
Merci c'est résolue merci beaucoup de votre aide à tous
Raymond PENTIER
Messages postés
58720
Date d'inscription
lundi 13 août 2007
Statut
Contributeur
Dernière intervention
10 novembre 2024
17 234
22 mars 2009 à 00:49
22 mars 2009 à 00:49
Bonjour Pierre. Ton problème a suscité beaucoup de propositions !
Bien que la discussion soit résolue, j'ajoute la mienne.
Elle est très proche de celle que tu as présentée dès le départ =SI(dist=0;0;SI(dist<=10;1,1;
SI(dist<=20;1,1+(dist-10)*0,07;SI(dist<=30;1,8+(dist-20)*0,04;2,2+(dist-30)*0,03))))
J'ai testé cette formule avec diverses valeurs : elle marche chaque fois. Bien entendu dist est le nom donné à la cellule où on saisit la distance ...
Et saluts amicaux à tous les participants !
Bien que la discussion soit résolue, j'ajoute la mienne.
Elle est très proche de celle que tu as présentée dès le départ =SI(dist=0;0;SI(dist<=10;1,1;
SI(dist<=20;1,1+(dist-10)*0,07;SI(dist<=30;1,8+(dist-20)*0,04;2,2+(dist-30)*0,03))))
J'ai testé cette formule avec diverses valeurs : elle marche chaque fois. Bien entendu dist est le nom donné à la cellule où on saisit la distance ...
Et saluts amicaux à tous les participants !
emerj
Messages postés
20
Date d'inscription
dimanche 18 juin 2006
Statut
Membre
Dernière intervention
30 mars 2009
21 mars 2009 à 13:21
21 mars 2009 à 13:21
=SI(F10>31;F10*0,03;SI(F10>20;F10*0,04;SI(F10>10;F10*0,07;F10*1,1)))
tu procède à l'envers pour écrire la formule, tu commence par la condition la plus grande et ainsi ton calcul trouve la bonne plage de valorisation
tu procède à l'envers pour écrire la formule, tu commence par la condition la plus grande et ainsi ton calcul trouve la bonne plage de valorisation
Pierre211
Messages postés
5
Date d'inscription
samedi 21 mars 2009
Statut
Membre
Dernière intervention
12 avril 2010
21 mars 2009 à 13:26
21 mars 2009 à 13:26
Non désoler cela ne m'aide pas du tout merci de m'aider car cela est assez complèxe.
En faite ce que je ne comprendre pas c'est au niveau de la tarification ex: pour tant de KM <=20;1,10+(0,07*par le terme variable qui est soit 1,2,3,4,5,6,7,8,9,10)
J'espère que cela est claire pour vous.
Merci encore de votre aide.
En faite ce que je ne comprendre pas c'est au niveau de la tarification ex: pour tant de KM <=20;1,10+(0,07*par le terme variable qui est soit 1,2,3,4,5,6,7,8,9,10)
J'espère que cela est claire pour vous.
Merci encore de votre aide.
emerj
Messages postés
20
Date d'inscription
dimanche 18 juin 2006
Statut
Membre
Dernière intervention
30 mars 2009
21 mars 2009 à 14:03
21 mars 2009 à 14:03
tu sais si le problème est trop complexe pour écrire directement la formule, il faut le détailler par ligne simple dans exel, puis écrire des conditions limitées , quand tu dépasses le nombre de si en série ( 7 je cois)
il faut penser à un calcul avec une matrice.
Il y a alors plus de possibilité d'exploiter un résultat en raisonnant sur les lignes et colonnes de la matrice
il faut penser à un calcul avec une matrice.
Il y a alors plus de possibilité d'exploiter un résultat en raisonnant sur les lignes et colonnes de la matrice
leplot
Messages postés
191
Date d'inscription
lundi 1 décembre 2008
Statut
Membre
Dernière intervention
13 août 2015
131
21 mars 2009 à 14:33
21 mars 2009 à 14:33
Bonjour
j'apporte également ma contribution en suivant l'idée de "emerj" de formule matricielle.
=INDEX({1,1;1,1;1,8;2,2};EQUIV(A1;{0;11;21;31})) + INDEX({0;0,07;0,04;0,03};EQUIV(A1;{0;11;21;31})) * (A1+1-INDEX({0;11;21;31};EQUIV(A1;{0;11;21;31})))
Le problème peut être écrit sous la forme
Bornes Fixe Variable
0 - 10 1.1 0
11-20 1.1 0.07
21-30 1.8 0.04 '1.8 = 1.1 + 10*0.07
31 - + 2.2 0.03 '2.2 = 1.1 + 10*0.07 + 10*0.04
On effectue des recherches de la cellule A1 dans la première colonne (Equiv) ce qui donne le rang à prendre.
On recherche dans le rang X dans la colonne 2 (Index) = fixe
On recherche dans le rang X dans la colonne 3 (Index) = Variable * (A1 - début de borne)
Dans la formule, les données sont saisies directement en matrice {;;;} mais on peut écrire le tableau précédent et faire les recherche dessus. C'est plus simple pour faire des mises à jour.
LePlot
j'apporte également ma contribution en suivant l'idée de "emerj" de formule matricielle.
=INDEX({1,1;1,1;1,8;2,2};EQUIV(A1;{0;11;21;31})) + INDEX({0;0,07;0,04;0,03};EQUIV(A1;{0;11;21;31})) * (A1+1-INDEX({0;11;21;31};EQUIV(A1;{0;11;21;31})))
Le problème peut être écrit sous la forme
Bornes Fixe Variable
0 - 10 1.1 0
11-20 1.1 0.07
21-30 1.8 0.04 '1.8 = 1.1 + 10*0.07
31 - + 2.2 0.03 '2.2 = 1.1 + 10*0.07 + 10*0.04
On effectue des recherches de la cellule A1 dans la première colonne (Equiv) ce qui donne le rang à prendre.
On recherche dans le rang X dans la colonne 2 (Index) = fixe
On recherche dans le rang X dans la colonne 3 (Index) = Variable * (A1 - début de borne)
Dans la formule, les données sont saisies directement en matrice {;;;} mais on peut écrire le tableau précédent et faire les recherche dessus. C'est plus simple pour faire des mises à jour.
LePlot
emerj
Messages postés
20
Date d'inscription
dimanche 18 juin 2006
Statut
Membre
Dernière intervention
30 mars 2009
21 mars 2009 à 17:29
21 mars 2009 à 17:29
bonjour leplot,
tu sembles avoir de bonnes notions, j'ai posé un post vers 13h sur ce forum,
aurai tu un tuyau, mon poste n'intéresse personne à priori
tu sembles avoir de bonnes notions, j'ai posé un post vers 13h sur ce forum,
aurai tu un tuyau, mon poste n'intéresse personne à priori
Vaucluse
Messages postés
26496
Date d'inscription
lundi 23 juillet 2007
Statut
Contributeur
Dernière intervention
1 avril 2022
6 414
21 mars 2009 à 17:37
21 mars 2009 à 17:37
mon poste n'intéresse personne à priori
Ah? il m'avait semblé pourtant!
Ah? il m'avait semblé pourtant!
emerj
Messages postés
20
Date d'inscription
dimanche 18 juin 2006
Statut
Membre
Dernière intervention
30 mars 2009
21 mars 2009 à 18:25
21 mars 2009 à 18:25
bonsoir,
peux tu m'aider pour mon post de 13H concernant la programmation de variables
peux tu m'aider pour mon post de 13H concernant la programmation de variables
xkristi
Messages postés
4264
Date d'inscription
lundi 18 décembre 2006
Statut
Membre
Dernière intervention
19 août 2022
564
21 mars 2009 à 18:56
21 mars 2009 à 18:56
Bonsoir Vaucluse
mais si , ton post n'est pas faux sur les constantes dégagées lorsque la distance augmente
moi , je me suis contentée de faire en sorte que sa formule marche
parce qu'il avait fait l'effort d'essayer de la construire.
Les autres réponses sont plus souples !!! (sourire)
mais si , ton post n'est pas faux sur les constantes dégagées lorsque la distance augmente
moi , je me suis contentée de faire en sorte que sa formule marche
parce qu'il avait fait l'effort d'essayer de la construire.
Les autres réponses sont plus souples !!! (sourire)