Imbrication de la fonction "si" et "et"

Résolu/Fermé
Kmaud Messages postés 3 Date d'inscription mardi 17 mars 2015 Statut Membre Dernière intervention 17 mars 2015 - 17 mars 2015 à 11:02
Vaucluse Messages postés 26496 Date d'inscription lundi 23 juillet 2007 Statut Contributeur Dernière intervention 1 avril 2022 - 17 mars 2015 à 12:11
Help !

Je m'arrache les cheveux depuis hier sur une formule comprenant plusieurs conditions ; malgré ce que j'ai pu lire dans les réponses existantes sur le forum rien de ce que je fais ne fonctionne.
Quelqu'un peut-il me dire où sont les erreurs dans mes formules ? Je n'y vois plus clair.
Une des formules fonctionne jusqu'à 20.000, après ça bug.

Il s'agit de calculer automatiquement les frais de déplacement :
En dessous de 5000 km remboursement sur la base de 0,536 cts du km
Entre 5000 et 20000 km remboursement sur la base de 0,30 cts du km
Au-dessus de 20000 km remboursement sur la base de 0,359 cts du km

Voici les dernières formules que j'ai créées :

=si(S16<=5000;M16*0,536;si(et(S16>=5000;S16<=20000);M16*0,30;si(S16>20000 ;M16*0,359))).

=si(S16<=5000;M16*0,536;si(et(S16>=5000;S16<=20000);M16*0,30;M16*0,359))).

Si vous avez une piste ça m'ôterait une sacrée épine du pied.
Merci

2 réponses

Vaucluse Messages postés 26496 Date d'inscription lundi 23 juillet 2007 Statut Contributeur Dernière intervention 1 avril 2022 6 396
Modifié par Vaucluse le 17/03/2015 à 11:09
Bonjour
en mettant les SI dans le bon ordre , il n'est pas utile de placer les ET car Excel s'arrête à la première solution trouvée:

=SI(S16<=5000;M16*0,536;SI(S16<=20000;M16*0,3;M16*0,359))

crdlmnt

ps dans votre formule il y a une parenthèse de trop à la fin

Errare humanum est, perseverare diabolicum
0
Kmaud Messages postés 3 Date d'inscription mardi 17 mars 2015 Statut Membre Dernière intervention 17 mars 2015
17 mars 2015 à 11:53
Super,
ça marche, merci beaucoup !!!
0
Mike-31 Messages postés 18313 Date d'inscription dimanche 17 février 2008 Statut Contributeur Dernière intervention 21 avril 2024 5 073
Modifié par Mike-31 le 17/03/2015 à 11:14
Salut,
ou dans l'autre sens
=SI(S16>=20000;M16*0,359;SI(S16>=5000;M16*0,3;M16*0,536))
si tu veux traiter la cellule M16 vide
=SI(S16>=20000;M16*0,359;SI(S16>=5000;M16*0,3;SI(S16>0;M16*0,536;"")))
A+
Mike-31

Une période d'échec est un moment rêvé pour semer les graines du savoir.
0
Kmaud Messages postés 3 Date d'inscription mardi 17 mars 2015 Statut Membre Dernière intervention 17 mars 2015
17 mars 2015 à 11:59
Nickel, ça fonctionne aussi.
Merci beaucoup pour votre réactivité à tous les 2.
0
Vaucluse Messages postés 26496 Date d'inscription lundi 23 juillet 2007 Statut Contributeur Dernière intervention 1 avril 2022 6 396
17 mars 2015 à 12:11
Oui, ça fonctionne dans les deux sens....:-)
Je passe le sujet en résolu
Bonne route
Crdlmnt
0