Fonction si

mantanos Messages postés 2 Date d'inscription   Statut Membre Dernière intervention   -  
Gyrus Messages postés 3334 Date d'inscription   Statut Membre Dernière intervention   -
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   Statut Membre Dernière intervention   2 746
 
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   Statut Membre Dernière intervention  
 
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 18405 Date d'inscription   Statut Contributeur Dernière intervention   5 135
 
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   Statut Membre Dernière intervention   526
 
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 18405 Date d'inscription   Statut Contributeur Dernière intervention   5 135
 
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   Statut Membre Dernière intervention   526
 
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
mantanos
 
Cela voudrait donc dire que je dois passer mes heure en centiminutes?

Merci
0
Gyrus Messages postés 3334 Date d'inscription   Statut Membre Dernière intervention   526 > mantanos
 
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