Trop d'arguments dans formule
BP2607
-
Raymond PENTIER Messages postés 58216 Date d'inscription Statut Contributeur Dernière intervention -
Raymond PENTIER Messages postés 58216 Date d'inscription Statut Contributeur Dernière intervention -
Bonjour,
Je souhaite calculer une cotisation en fonction du salaire déclaré d'un adhérent.
J'ai entré cette formule (le salaire est dans la cellule E10) :
=SI(ET(E10<1311,21;E10*0,75%);SI(E10>=1311,21;E10<1433,17;E10*0,76%);SI(E10>=1433,17;E10<1555,13;E10*0,77%);SI(E10>=1555,13;E10<1677,09;E10*0,78%);SI(E10>=1677,09;E10<1799,05;E10*0,79%);SI(E10>=1799,05;E10<1921,01;E10*0,80%);SI(E10>=1921,01;E10<2042,97;E10*0,82%);SI(E10>=2042,97;E10<=2164,78;E10*0,85%);SI(E10>2164,78;E10*0,9%))
Réponse : "vous avez tapé un nombre trop important d'argument pour cette fonction"
Barème des cotisations
Salaire<1311.21 cotisation 0.75%
Salaire >= 1311.21 et Salaire<1433.17 cotisation 0.76%
Salaire>=1433.17 et Salaire<1555.13 cotisation 0.77%
Salaire>=1555.13 et Salaire<1677.09 cotisation 0.78%
Salaire>=1677.09 et Salaire<1799.05 cotisation 0.79%
Salaire>=1799.05 et Salaire<1921.01 cotisation 0.80%
Salaire>= 1921.01 et Salaire<2042.97 cotisation 0.82%
Salaire>=2042.97 et Salaire<=2164.78 cotisation 0.85%
Salaire>2164.78 cotisation 0.9%
Je souhaite calculer une cotisation en fonction du salaire déclaré d'un adhérent.
J'ai entré cette formule (le salaire est dans la cellule E10) :
=SI(ET(E10<1311,21;E10*0,75%);SI(E10>=1311,21;E10<1433,17;E10*0,76%);SI(E10>=1433,17;E10<1555,13;E10*0,77%);SI(E10>=1555,13;E10<1677,09;E10*0,78%);SI(E10>=1677,09;E10<1799,05;E10*0,79%);SI(E10>=1799,05;E10<1921,01;E10*0,80%);SI(E10>=1921,01;E10<2042,97;E10*0,82%);SI(E10>=2042,97;E10<=2164,78;E10*0,85%);SI(E10>2164,78;E10*0,9%))
Réponse : "vous avez tapé un nombre trop important d'argument pour cette fonction"
Barème des cotisations
Salaire<1311.21 cotisation 0.75%
Salaire >= 1311.21 et Salaire<1433.17 cotisation 0.76%
Salaire>=1433.17 et Salaire<1555.13 cotisation 0.77%
Salaire>=1555.13 et Salaire<1677.09 cotisation 0.78%
Salaire>=1677.09 et Salaire<1799.05 cotisation 0.79%
Salaire>=1799.05 et Salaire<1921.01 cotisation 0.80%
Salaire>= 1921.01 et Salaire<2042.97 cotisation 0.82%
Salaire>=2042.97 et Salaire<=2164.78 cotisation 0.85%
Salaire>2164.78 cotisation 0.9%
3 réponses
-
Normal : tu n'as pas respecté la syntaxe de la fonction SI ...
-
-
Il faut supprimer ce ET qui n'a rien à faire en début de formule.
Par contre il devrait apparaitre dans toutes les autres occurrences de SI, avec la logique que tu as adoptée !
La formule correcte est
=E10* SI(E10<1311,21;0,75%; SI(E10<1433,17;0,76%; SI(E10<1555,13;0,77%; SI(E10<1677,09;0,78%; SI(E10<1799,05;0,79%; SI(E10<1921,01;0,80%; SI(E10<2042,97;0,82%; SI(E10<2164,78;0,85%; 0,9%)))))))) -
-
En effet, puisqu'on a déjà testé le cas
SI(E10<1311,21;
il est superflu de refaire ce test en écrivantSI(ET(E10>=1311,21;E10<1433,17;
ce qui est redondant ...
Et il suffit de multiplier le salaire (E10) par la cotisation (le résultat des tests), au lieu de calculer les 9 cotisations possibles dans la formule ! -
-
-
ton post #4 ->
Non, non, je ne suis pas un chef, loin de là !
Mais le problème que tu nous as soumis est extrêmement fréquent, et a d'ailleurs fait l'objet de nombreuses discussions dans ce forum.
C'est moi qui t'ai répondu le premier, parce que je bénéficie du décalage horaire et que mes petits camarades en Europe dorment déjà, alors que je n'ai pas encore soupé ...
Mais ils sont des douzaines à pouvoir te donner la même solution que moi !
En tout cas imprègne-toi bien de la logique du raisonnement, ainsi que de la bonne utilisation des fonctions ET, NON, OU combinées avec SI :
https://www.cjoint.com/c/FCbaXIw8DJO
https://www.cjoint.com/c/FCbaWEvMsTO
Cordialement. -
ton post #6 ->
Pour 100 tranches on oublie la formule avec 99 SI ; on opte pour un tableau de correspondance et la fonction RECHERCHEV ...