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
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
A voir également:
- Fonction si
- Fonction si et - Guide
- Fonction moyenne excel - Guide
- Fonction somme excel - Guide
- Fonction remplacer word - Guide
- Fonction miroir - Guide
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
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
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
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
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"))))
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"))))
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
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+
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+
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
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.
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.
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
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+
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+
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
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+
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+
11 sept. 2015 à 13:44
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