Calcul d'heures en fonction de conditions (Fonction SI)

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

Nico5330

XLDnaute Nouveau
Bonjour, j'ai une formule pour calculer les heures d'une personne sur un mois... Dans ces horaires, il y a différentes anotations qui sont répertoriées pour différencier les jours pointés à 7h36 et les jours à 8h06...

Cette formule est très longue en raison des multiple conditions donc je dois séparer le mois en 6 parties (Du 1 au 5, du 6 au 10, ...) pour refaire une somme taotele des heures calculées dans une autre cellule...

Je me demandais si il était possible de simplifier la formule pour qu'elle calcule la somme des heures de travail en une fois avec toutes les conditions remplies...

Ma formule initiale pour 5 jours car plus, la formule est trop longue :
=SI(B2="C";"7:36";SI(B2="ent";"7:36";SI(B2="form";"7:36";SI(B2="mon";"7:36";SI(B2="jurbise";"7:36";SI(B2="HR";"7:36";SI(B2="R";"0:00";SI(B2="";"0:00";"08:06"))))))))+SI(C2="C";"7:36";SI(C2="ent";"7:36";SI(C2="form";"7:36";SI(C2="mon";"7:36";SI(C2="jurbise";"7:36";SI(C2="HR";"7:36";SI(C2="R";"0:00";SI(C2="";"0:00";"08:06"))))))))+SI(D2="C";"7:36";SI(D2="ent";"7:36";SI(D2="form";"7:36";SI(D2="mon";"7:36";SI(D2="jurbise";"7:36";SI(D2="HR";"7:36";SI(D2="R";"0:00";SI(D2="";"0:00";"08:06"))))))))+SI(E2="C";"7:36";SI(E2="ent";"7:36";SI(E2="form";"7:36";SI(E2="mon";"7:36";SI(E2="jurbise";"7:36";SI(E2="HR";"7:36";SI(E2="R";"0:00";SI(E2="";"0:00";"08:06"))))))))+SI(F2="C";"7:36";SI(F2="ent";"7:36";SI(F2="form";"7:36";SI(F2="mon";"7:36";SI(F2="jurbise";"7:36";SI(F2="HR";"7:36";SI(F2="R";"0:00";SI(F2="";"0:00";"08:06"))))))))

Je refais ensuite la même formule pour les jours suivants (par 5 toujours) et je regroupe tous les résultats d'heures en une seule cellule ensuite (fonction SOMME classique)

Je planchais vers une autre formule pour regrouper toutes les cellules à analyser... Voici ma formule mais elle ne fonctionne pas (#VALEUR) soit :
=SI((B2:AF2)="C";"7:36";SI((B2:AF2)="ent";"7:36";SI((B2:AF2)="form";"7:36";SI((B2:AF2)="mon";"7:36";SI((B2:AF2)="jurbise";"7:36";SI((B2:AF2)="HR";"7:36";SI((B2:AF2)="R";"0:00";SI((B2:AF2)="";"0:00";"08:06"))))))))

Pouvez m'aider ??
D'avance, je vous remercie.
Nico
 

Pièces jointes

Re : Calcul d'heures en fonction de conditions (Fonction SI)

Bonjour,

Une tentative de simplification en AJ13 :

Code:
=SOMMEPROD(((B3:F3="C")+(B3:F3="ent")+(B3:F3="form")+(B3:F3="mon")+(B3:F3=
"jurbise")+(B3:F3="HR"))*"7:36")+(5-SOMMEPROD(((B3:F3="C")+(B3:F3="ent")+(B3:F3=
"form")+(B3:F3="mon")+(B3:F3="jurbise")+(B3:F3="HR")+(B3:F3="R"))))*"8:06"

Je te laisse tester et adapter pour les cellules suivantes.

@+
 
Re : Calcul d'heures en fonction de conditions (Fonction SI)

Bonjour et bienvenu sur le forum, salut Tibo,

Je ne comprends pas :
- sous la formule en AJ3 un horaire de 7:36 est appliqué pour "ent" et "mon"
- alors que sous l'explication en AJ12 il faudrait appliquer un horaire de 8:06
- de plus, il n'est pas précisé quel horaire est d'application pour "form"; "jurbise"; "HR", ...

Peut-on avoir quelques explications complémentaires ?

Edition :
Essaie cette formule :
=(31-NB.SI(B3:AF3;"R")-NB.SI(B3:AF3;0))*"8:06"-NB.SI(B3:AF3;"C")*"0:30"
Elle renvoie 176:12
La différence de 2:30 avec le résultat en AH3 provient de 5 jours * ("8:06"-"7:36")
pour lesquels il demandé précision ci-dessus.
 
Dernière édition:
Re : Calcul d'heures en fonction de conditions (Fonction SI)

Merci pour votre attention au problème et donc :
Concernant, Jurbise, Euro, form et tous les horaires possibles de pause, en fait, c'est compté 8:06.

Concernant le C (congé), HR, Mon, ent, c'est compté 7:36
Concernant R (Repos) , c'est compté 0:00

Sorry pour le manque de précision au départ mais c'est parce que j'essaye de trouver la formule générale et ensuite adapté l'horaire

J'essaye la formule proposée et je dis quoi
 
Re : Calcul d'heures en fonction de conditions (Fonction SI)

On vient de me proposer une formule qui a l'air de marcher pas mal... En tt cas, cela donne le même résultat que celle développée...
Il s'agit de :

=(NB.SI($B$3:$AF$3;"c")+NB.SI($B$3:$AF$3;"ent")+NB.SI($B$3:$AF$3;"form")+NB.SI($B$3:$AF$3;"mon")+NB.SI($B$3:$AF$3;"jurbise")+NB.SI($B$3:$AF$3;"HR"))*"7:36"+SOMMEPROD(($B$3:$AF$3<>"c")*($B$3:$AF$3<>"ent")*($B$3:$AF$3<>"form")*($B$3:$AF$3<>"mon")*($B$3:$AF$3<>"jurbise")*($B$3:$AF$3<>"HR")*($B$3:$AF$3<>"r")*($B$3:$AF$3<>""))*"8:06"

Pour moi, cela rejoint toutes nos idées et je pense que la question est donc résolue...
Un tout grand merci pour votre soutien et votre aide.
Bien à vous et au plaisir
 
Re : Calcul d'heures en fonction de conditions (Fonction SI)

Bonjour,

C’est faisable aussi comme ça :


Code:
[FONT=Verdana][FONT=Verdana]=NBVAL($B$3:$AF$3)*"8:06"-SOMMEPROD(NB.SI($B$3:$AF$3;$AQ$9:$AQ$15)*$AR$9:$AR$15)[/FONT]
[/FONT]
En donnant un nom aux plages AQ9:AQ15 et AR9:AR15
Code:
[FONT=Verdana][FONT=Verdana]=NBVAL($B$3:$AF$3)*"8:06"-SOMMEPROD(NB.SI($B$3:$AF$3;Code)*Enlever)[/FONT]
[/FONT]
En moins court
Code:
[FONT=Verdana][FONT=Verdana]=NBVAL($B$3:$AF$3)*"8:06"-SOMMEPROD(NB.SI($B$3:$AF$3;{"C";"Ent";"Form";"Mon";"Jurbise";"HR";"R"})*{"0:30";"0:30";"0:30";"0:30";"0:30";"0:30";"8:06"})[/FONT]
[/FONT]
 

Pièces jointes

- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
20
Affichages
714
Réponses
3
Affichages
285
Réponses
3
Affichages
548
Retour