Fonction si

Fermé
mantanos Messages postés 2 Date d'inscription lundi 7 septembre 2015 Statut Membre Dernière intervention 11 septembre 2015 - 7 sept. 2015 à 14:18
Gyrus Messages postés 3334 Date d'inscription samedi 20 juillet 2013 Statut Membre Dernière intervention 9 décembre 2016 - 12 sept. 2015 à 09:25
Bonjour à tous,

Bon alors de base j'aime bien me prendre la tête sur excel, mais là je ne sais pas si j'ai une demande qui dépasse mes capacité ou bref...

Venons en au fait :



Ce que je voudrais trouver c'est un calcule d'heures de repas mais avec conditions:

En B5 j'ai l'heure de début de journée
Si cette heure dépasse 11:10 (en M9) alors il n'y a pas de pause repas. (bon jusqu'à la ça va)

par contre si l'heure de début est avant les 11:10 alors il doit y avoir 4 possibilités


1h de coupure = "IRU"
Entre 30 min et 1h = "IS"
Moins de 30 min = "IR"
Si il n'y a pas de coupure = "pas de coupure"



J'espère avoir été un peu claire.

Merci et bon courage



A voir également:

5 réponses

via55 Messages postés 14512 Date d'inscription mercredi 16 janvier 2013 Statut Membre Dernière intervention 18 janvier 2025 2 740
7 sept. 2015 à 17:42
Bonjour

Comment dans le fichier est indiqué le temps de pause ? par une durée ? ou par une heure de début de pause et une heure de fin de pause ?
Le plus simple, comme d'habitude) poster un exemple de ton fichier sur cjoint.com, faire créer un lie, le copier et revenir l'indiquer ici

Cdlmnt
Via
0
mantanos Messages postés 2 Date d'inscription lundi 7 septembre 2015 Statut Membre Dernière intervention 11 septembre 2015
11 sept. 2015 à 13:44
Voici le lien de mon document,

Vu que c'est une version d'essai il n'est pas très propres ni bien présenté.


Bonne journée,

https://www.cjoint.com/c/EIllPOAq0d5
0
Mike-31 Messages postés 18354 Date d'inscription dimanche 17 février 2008 Statut Contributeur Dernière intervention 1 janvier 2025 5 110
7 sept. 2015 à 19:49
Bonjour,

En relisant la demande je pense avoir enfin compris,
le problème avec la conversion des heures en décimale ou la comparaison d'une durée en fonction d'un calcul, il reste souvent des décimales parasites qui fausse le résultat.
je te propose soit de créer dans une cellule hors champ cette formule exemple en F20
=TRONQUE(((HEURE(M9)-HEURE(B5))*60)+MINUTE(M9)-MINUTE(B5))
puis cette formule
=SI(B5="";"";SI(F20>=60;"IRU";SI(F20>=30;"IS";SI(F20>0;"IR";"pas de coupure"))))

il est possible de traiter le problème directement avec une formule type usine à gaz

=SI(B5="";"";SI(TRONQUE(((HEURE(M9)-HEURE(B5))*60)+MINUTE(M9)-MINUTE(B5))>=60;"IRU";SI(TRONQUE(((HEURE(M9)-HEURE(B5))*60)+MINUTE(M9)-MINUTE(B5))>=30;"IS";SI(TRONQUE(((HEURE(M9)-HEURE(B5))*60)+MINUTE(M9)-MINUTE(B5))>0;"IR";"pas de coupure"))))
0
Gyrus Messages postés 3334 Date d'inscription samedi 20 juillet 2013 Statut Membre Dernière intervention 9 décembre 2016 524
7 sept. 2015 à 20:12
Bonjour Mike-31,

En cas de coupure de gaz dans l'usine, on doit pouvoir utiliser :
=SI(M9-B5>=1/24;"IRU";SI(M9-B5>=1/48;"IS";SI(M9-B5>0;"IR";"pas de coupure")))

Qu'en penses-tu ?

A+
0
Mike-31 Messages postés 18354 Date d'inscription dimanche 17 février 2008 Statut Contributeur Dernière intervention 1 janvier 2025 5 110
Modifié par Mike-31 le 7/09/2015 à 20:36
Re,

Ah oui bien vu le 1/48, par contre si tu mets 10:10 en B5 cela fait bien 1 heure donc IRU et comme mes formules le résultat est erroné avec comme résultat IS due à ces décimales parasites qui s'affichent entre les dixièmes et treizième décimales, mais peut être le demandeur s'en accommodera.

problème de décimale soulevé de nombreuses fois comme dans ces deux discussions
https://forums.commentcamarche.net/forum/affich-32216517-decimales-capricieuses

https://forums.commentcamarche.net/forum/affich-30073783-erreur-de-calcul-dans-excel-a-la-13eme-decimale
cordialement
A+
Mike-31

Une période d'échec est un moment rêvé pour semer les graines du savoir.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Gyrus Messages postés 3334 Date d'inscription samedi 20 juillet 2013 Statut Membre Dernière intervention 9 décembre 2016 524
8 sept. 2015 à 08:11
Bonjour,

Si besoin, le problème de décimale peut être réglé avec un ARRONDI

=SI(ARRONDI(M9-B5;10)>=1/24;"IRU";SI(ARRONDI(M9-B5;10)>=1/48;"IS";SI(ARRONDI(M9-B5;10)>0;"IR";"pas de coupure")))

A+
0
Cela voudrait donc dire que je dois passer mes heure en centiminutes?

Merci
0
Gyrus Messages postés 3334 Date d'inscription samedi 20 juillet 2013 Statut Membre Dernière intervention 9 décembre 2016 524 > mantanos
12 sept. 2015 à 09:25
Non, l'arrondi est utilisé pour pallier le problème de calcul des nombres à virgule flottante.

Exemple :
Avec M9=11:10 et B5=10:10, on obtient M9-B5=01:00
Au format nombre à 16 décimales, cette valeur est 0,0416666666666666
Pour Excel, l'heure vaut 1/24 = 0,0416666666666667
Cet écart sur la seizième décimale est suffisant pour que l'égalité M9-M5 = 1h00 ne soit plus vérifiée.

Par contre, si on prend l'arrondi à la dixième décimale de ces deux valeurs, soit 0,0416666667, on obtient bien l'égalité M9-M5= 1h00

A+
0