S'implifier une formule trop longue
Résolu
nhlbiojack
-
Nhlbiojack -
Nhlbiojack -
Bonjour, quelqu'un pourrait s'implifier une formule excel excessivement longue que j'ai créer. Elle demande beaucoup d'addition et de conditionel , mais elle est fonctionnel à 100%. Je me demande si elle est modifiable pour la raccourcir un peu car quand mes prix changes le risque d'erreur est élever et c'est long. Aussi j'ai un problème quand je mets mon classeur sur excel 2003 chez mes distributeurs , elle est trop long pour la prendre en charge. merci beaucoup!!!!
voilà la formule:
=ENT((G10*4.25)+(SI(((ARRONDI.AU.MULTIPLE(ARRONDI.SUP(D11;0);2))*(ARRONDI.AU.MULTIPLE(ARRONDI.SUP(E11;0);2))/144)=0;((ARRONDI.AU.MULTIPLE(ARRONDI.SUP(D11;0);2))*(ARRONDI.AU.MULTIPLE(ARRONDI.SUP(E11;0);2))/144)*0;SI(((ARRONDI.AU.MULTIPLE(ARRONDI.SUP(D11;0);2))*(ARRONDI.AU.MULTIPLE(ARRONDI.SUP(E11;0);2))/144)<=3;3*10.45;SI(((ARRONDI.AU.MULTIPLE(ARRONDI.SUP(D11;0);2))*(ARRONDI.AU.MULTIPLE(ARRONDI.SUP(E11;0);2))/144)<=14.99;((ARRONDI.AU.MULTIPLE(ARRONDI.SUP(D11;0);2))*(ARRONDI.AU.MULTIPLE(ARRONDI.SUP(E11;0);2))/144)*10.45;SI(((ARRONDI.AU.MULTIPLE(ARRONDI.SUP(D11;0);2))*(ARRONDI.AU.MULTIPLE(ARRONDI.SUP(E11;0);2))/144)<=29.99;((ARRONDI.AU.MULTIPLE(ARRONDI.SUP(D11;0);2))*(ARRONDI.AU.MULTIPLE(ARRONDI.SUP(E11;0);2))/144)*13.45;SI(((ARRONDI.AU.MULTIPLE(ARRONDI.SUP(D11;0);2))*(ARRONDI.AU.MULTIPLE(ARRONDI.SUP(E11;0);2))/144)<=39.99;((ARRONDI.AU.MULTIPLE(ARRONDI.SUP(D11;0);2))*(ARRONDI.AU.MULTIPLE(ARRONDI.SUP(E11;0);2))/144)*15.55;((ARRONDI.AU.MULTIPLE(ARRONDI.SUP(D11;0);2))*(ARRONDI.AU.MULTIPLE(ARRONDI.SUP(E11;0);2))/144)*17.65)))))))+(MOD((G10*4.25)+(SI(((ARRONDI.AU.MULTIPLE(ARRONDI.SUP(D11;0);2))*(ARRONDI.AU.MULTIPLE(ARRONDI.SUP(E11;0);2))/144)=0;((ARRONDI.AU.MULTIPLE(ARRONDI.SUP(D11;0);2))*(ARRONDI.AU.MULTIPLE(ARRONDI.SUP(E11;0);2))/144)*0;SI(((ARRONDI.AU.MULTIPLE(ARRONDI.SUP(D11;0);2))*(ARRONDI.AU.MULTIPLE(ARRONDI.SUP(E11;0);2))/144)<=3;3*10.45;SI(((ARRONDI.AU.MULTIPLE(ARRONDI.SUP(D11;0);2))*(ARRONDI.AU.MULTIPLE(ARRONDI.SUP(E11;0);2))/144)<=14.99;((ARRONDI.AU.MULTIPLE(ARRONDI.SUP(D11;0);2))*(ARRONDI.AU.MULTIPLE(ARRONDI.SUP(E11;0);2))/144)*10.45;SI(((ARRONDI.AU.MULTIPLE(ARRONDI.SUP(D11;0);2))*(ARRONDI.AU.MULTIPLE(ARRONDI.SUP(E11;0);2))/144)<=29.99;((ARRONDI.AU.MULTIPLE(ARRONDI.SUP(D11;0);2))*(ARRONDI.AU.MULTIPLE(ARRONDI.SUP(E11;0);2))/144)*13.45;SI(((ARRONDI.AU.MULTIPLE(ARRONDI.SUP(D11;0);2))*(ARRONDI.AU.MULTIPLE(ARRONDI.SUP(E11;0);2))/144)<=39.99;((ARRONDI.AU.MULTIPLE(ARRONDI.SUP(D11;0);2))*(ARRONDI.AU.MULTIPLE(ARRONDI.SUP(E11;0);2))/144)*15.55;((ARRONDI.AU.MULTIPLE(ARRONDI.SUP(D11;0);2))*(ARRONDI.AU.MULTIPLE(ARRONDI.SUP(E11;0);2))/144)*17.65))))));1)>0)*0.95
voilà la formule:
=ENT((G10*4.25)+(SI(((ARRONDI.AU.MULTIPLE(ARRONDI.SUP(D11;0);2))*(ARRONDI.AU.MULTIPLE(ARRONDI.SUP(E11;0);2))/144)=0;((ARRONDI.AU.MULTIPLE(ARRONDI.SUP(D11;0);2))*(ARRONDI.AU.MULTIPLE(ARRONDI.SUP(E11;0);2))/144)*0;SI(((ARRONDI.AU.MULTIPLE(ARRONDI.SUP(D11;0);2))*(ARRONDI.AU.MULTIPLE(ARRONDI.SUP(E11;0);2))/144)<=3;3*10.45;SI(((ARRONDI.AU.MULTIPLE(ARRONDI.SUP(D11;0);2))*(ARRONDI.AU.MULTIPLE(ARRONDI.SUP(E11;0);2))/144)<=14.99;((ARRONDI.AU.MULTIPLE(ARRONDI.SUP(D11;0);2))*(ARRONDI.AU.MULTIPLE(ARRONDI.SUP(E11;0);2))/144)*10.45;SI(((ARRONDI.AU.MULTIPLE(ARRONDI.SUP(D11;0);2))*(ARRONDI.AU.MULTIPLE(ARRONDI.SUP(E11;0);2))/144)<=29.99;((ARRONDI.AU.MULTIPLE(ARRONDI.SUP(D11;0);2))*(ARRONDI.AU.MULTIPLE(ARRONDI.SUP(E11;0);2))/144)*13.45;SI(((ARRONDI.AU.MULTIPLE(ARRONDI.SUP(D11;0);2))*(ARRONDI.AU.MULTIPLE(ARRONDI.SUP(E11;0);2))/144)<=39.99;((ARRONDI.AU.MULTIPLE(ARRONDI.SUP(D11;0);2))*(ARRONDI.AU.MULTIPLE(ARRONDI.SUP(E11;0);2))/144)*15.55;((ARRONDI.AU.MULTIPLE(ARRONDI.SUP(D11;0);2))*(ARRONDI.AU.MULTIPLE(ARRONDI.SUP(E11;0);2))/144)*17.65)))))))+(MOD((G10*4.25)+(SI(((ARRONDI.AU.MULTIPLE(ARRONDI.SUP(D11;0);2))*(ARRONDI.AU.MULTIPLE(ARRONDI.SUP(E11;0);2))/144)=0;((ARRONDI.AU.MULTIPLE(ARRONDI.SUP(D11;0);2))*(ARRONDI.AU.MULTIPLE(ARRONDI.SUP(E11;0);2))/144)*0;SI(((ARRONDI.AU.MULTIPLE(ARRONDI.SUP(D11;0);2))*(ARRONDI.AU.MULTIPLE(ARRONDI.SUP(E11;0);2))/144)<=3;3*10.45;SI(((ARRONDI.AU.MULTIPLE(ARRONDI.SUP(D11;0);2))*(ARRONDI.AU.MULTIPLE(ARRONDI.SUP(E11;0);2))/144)<=14.99;((ARRONDI.AU.MULTIPLE(ARRONDI.SUP(D11;0);2))*(ARRONDI.AU.MULTIPLE(ARRONDI.SUP(E11;0);2))/144)*10.45;SI(((ARRONDI.AU.MULTIPLE(ARRONDI.SUP(D11;0);2))*(ARRONDI.AU.MULTIPLE(ARRONDI.SUP(E11;0);2))/144)<=29.99;((ARRONDI.AU.MULTIPLE(ARRONDI.SUP(D11;0);2))*(ARRONDI.AU.MULTIPLE(ARRONDI.SUP(E11;0);2))/144)*13.45;SI(((ARRONDI.AU.MULTIPLE(ARRONDI.SUP(D11;0);2))*(ARRONDI.AU.MULTIPLE(ARRONDI.SUP(E11;0);2))/144)<=39.99;((ARRONDI.AU.MULTIPLE(ARRONDI.SUP(D11;0);2))*(ARRONDI.AU.MULTIPLE(ARRONDI.SUP(E11;0);2))/144)*15.55;((ARRONDI.AU.MULTIPLE(ARRONDI.SUP(D11;0);2))*(ARRONDI.AU.MULTIPLE(ARRONDI.SUP(E11;0);2))/144)*17.65))))));1)>0)*0.95
A voir également:
- S'implifier une formule trop longue
- Formule si et - Guide
- Formule moyenne excel plusieurs colonnes - Guide
- Formule mathématique - Télécharger - Études & Formations
- Formule somme excel colonne - Guide
- Excel mise en forme conditionnelle formule - Guide
2 réponses
Bonjour
Les mégaformules, c'est beau mais ça n'encourage pas à intervenir quand il y à un pépin.
Vu qu'apparemment, on ne teste que 3 cellules D11,E11,G10 + les valeurs Pourquoi ne pas la décomposer comme suit:
exemple
en M2 : =ARRONDI.AU.MULTIPLE(ARRONDI.SUP(D11;0);2)
en M3: =(ARRONDI.AU.MULTIPLE(ARRONDI.SUP(E11;0);2))/144
et dans la formule globale, faire référence à ces cellules.
Dans cette partie:
SI(((ARRONDI.AU.MULTIPLE(ARRONDI.SUP(D11;0);2))*(ARRONDI.AU.MULTIPLE(ARRONDI.SUP(E11;0);2))/144)=0; si le résultat=0
on peut remplacer ((ARRONDI.AU.MULTIPLE(ARRONDI.SUP(D11;0);2))*(ARRONDI.AU.MULTIPLE(ARRONDI.SUP(E11;0);2))/144)*0 par 0
(à vérifier)
De plus, pour une question de commodité et de gain en longueur, pourquoi ne pas mettre les prix dans un tableau, il est plus facile d'en changer les valeurs que d'intervenir dans la formule. Voici en M5 la formule allégée, il y a sûrement encore des parenthèses qu'on peut faire sauter.
A essayer et à adapter suivant les possibilités disponibles sur votre fichier.
https://www.cjoint.com/c/EBzsRjqlPpx
CDLT
Les mégaformules, c'est beau mais ça n'encourage pas à intervenir quand il y à un pépin.
Vu qu'apparemment, on ne teste que 3 cellules D11,E11,G10 + les valeurs Pourquoi ne pas la décomposer comme suit:
exemple
en M2 : =ARRONDI.AU.MULTIPLE(ARRONDI.SUP(D11;0);2)
en M3: =(ARRONDI.AU.MULTIPLE(ARRONDI.SUP(E11;0);2))/144
et dans la formule globale, faire référence à ces cellules.
Dans cette partie:
SI(((ARRONDI.AU.MULTIPLE(ARRONDI.SUP(D11;0);2))*(ARRONDI.AU.MULTIPLE(ARRONDI.SUP(E11;0);2))/144)=0; si le résultat=0
on peut remplacer ((ARRONDI.AU.MULTIPLE(ARRONDI.SUP(D11;0);2))*(ARRONDI.AU.MULTIPLE(ARRONDI.SUP(E11;0);2))/144)*0 par 0
(à vérifier)
De plus, pour une question de commodité et de gain en longueur, pourquoi ne pas mettre les prix dans un tableau, il est plus facile d'en changer les valeurs que d'intervenir dans la formule. Voici en M5 la formule allégée, il y a sûrement encore des parenthèses qu'on peut faire sauter.
A essayer et à adapter suivant les possibilités disponibles sur votre fichier.
https://www.cjoint.com/c/EBzsRjqlPpx
CDLT
Bonjour,
à essayer :
à essayer :
=ENT((G10*4,25)+2*ARRONDI.SUP(D11/2;0)*2*ARRONDI.SUP(E11/2;0)/144*RECHERCHEV(2*ARRONDI.SUP(D11/2;0)*2*ARRONDI.SUP(E11/2;0)/144;{0\31,35;3,01\10,45;15\13,45;30\15,55;40\17,65};2;VRAI))+(MOD((G10*4,25)+RECHERCHEV(2*ARRONDI.SUP(D11/2;0)*2*ARRONDI.SUP(E11/2;0)/144;{0\31,35;3,01\10,45;15\13,45;30\15,55;40\17,65};2;VRAI);1)>0)*0,95