Calcul de jours sur période
Résolu
Minimix
-
Minimix -
Minimix -
Bonjour,
Je dois calculer pour plusieurs années (par exemple 2014) le nombre de jours de présence. J'ai écrit cette formule :
=SI(L2>$AN$2;"0";SI(ET(OU(N2="";N2>$AN$2);L2<$AN$1);NB.JOURS.OUVRES($AN$1;$AN$2);SI(L2<$AN$1;NB.JOURS.OUVRES($AN$1;N2);SI(ET(N2="";L2<$AN$2);NB.JOURS.OUVRES(L2;$AN$2);NB.JOURS.OUVRES(L2;N2)))))
L2 : date de début du contrat
N2 : date de fin du contrat
$AN$1 : 01/01/2014
$AN$2 : 31/12/2014
Mon problème est que pour une personne rentrée le 12/07/2002 et sortie le 01/04/2013 j'obtiens un résultat négatif. Je voudrais plutôt avoir un 0 ou rien... Je n'arrive pas a voir où est mon erreur
Merci d'avance de votre aide,
Je dois calculer pour plusieurs années (par exemple 2014) le nombre de jours de présence. J'ai écrit cette formule :
=SI(L2>$AN$2;"0";SI(ET(OU(N2="";N2>$AN$2);L2<$AN$1);NB.JOURS.OUVRES($AN$1;$AN$2);SI(L2<$AN$1;NB.JOURS.OUVRES($AN$1;N2);SI(ET(N2="";L2<$AN$2);NB.JOURS.OUVRES(L2;$AN$2);NB.JOURS.OUVRES(L2;N2)))))
L2 : date de début du contrat
N2 : date de fin du contrat
$AN$1 : 01/01/2014
$AN$2 : 31/12/2014
Mon problème est que pour une personne rentrée le 12/07/2002 et sortie le 01/04/2013 j'obtiens un résultat négatif. Je voudrais plutôt avoir un 0 ou rien... Je n'arrive pas a voir où est mon erreur
Merci d'avance de votre aide,
A voir également:
- Calcul de jours sur période
- Compte facebook suspendu 180 jours - Guide
- Compte instagram suspendu 180 jours - Guide
- Nombre de jours entre deux dates excel - Guide
- Calcul moyenne excel - Guide
- Calcul km marche à pied gratuit - Télécharger - Sport
4 réponses
Bonjour
Essayer ceci pour 2014
=SI($N2<$AN$1;0;SI(ET($L2>=$AN$1;$N2<=$AN$2);NB.JOURS.OUVRES($L2;$N2);SI(ET(L2<AN1;N2<AN2);NB.JOURS.OUVRES(AN1;N2);SI(ET($N2>$AN$1;$N2<=$AN$2);NB.JOURS.OUVRES($N2;$AN$2);SI(ET($L2<$AN$1;$N2>=$AN$2);NB.JOURS.OUVRES($AN$1;$AN$2))))))
Essayer ceci pour 2014
=SI($N2<$AN$1;0;SI(ET($L2>=$AN$1;$N2<=$AN$2);NB.JOURS.OUVRES($L2;$N2);SI(ET(L2<AN1;N2<AN2);NB.JOURS.OUVRES(AN1;N2);SI(ET($N2>$AN$1;$N2<=$AN$2);NB.JOURS.OUVRES($N2;$AN$2);SI(ET($L2<$AN$1;$N2>=$AN$2);NB.JOURS.OUVRES($AN$1;$AN$2))))))
je m'en suis aperçu voilà la correction
=SI(OU(L2=0;N2=0);0;SI(ET($N2<$AN$1;N2<>0);NB.JOURS.OUVRES($AN1;MAINTENANT());SI(ET($L2>=$AN$1;N2<>0;$N2<=$AN$2);NB.JOURS.OUVRES($L2;$N2);SI(ET(L2<AN1;N2<AN2);NB.JOURS.OUVRES(AN1;N2);SI(ET($N2>$AN$1;$N2<=$AN$2;N2<>0);NB.JOURS.OUVRES($N2;$AN$2);SI(ET($L2<$AN$1;$N2>=$AN$2);NB.JOURS.OUVRES($AN$1;$AN$2)))))))
=SI(OU(L2=0;N2=0);0;SI(ET($N2<$AN$1;N2<>0);NB.JOURS.OUVRES($AN1;MAINTENANT());SI(ET($L2>=$AN$1;N2<>0;$N2<=$AN$2);NB.JOURS.OUVRES($L2;$N2);SI(ET(L2<AN1;N2<AN2);NB.JOURS.OUVRES(AN1;N2);SI(ET($N2>$AN$1;$N2<=$AN$2;N2<>0);NB.JOURS.OUVRES($N2;$AN$2);SI(ET($L2<$AN$1;$N2>=$AN$2);NB.JOURS.OUVRES($AN$1;$AN$2)))))))
Bonjour,
autre façon de faire.
Avec juste l'année (2013) en AN2 :
eric
autre façon de faire.
Avec juste l'année (2013) en AN2 :
=MAX(0;NB.JOURS.OUVRES(MAX(DATE(AN2;1;1);L2);MIN(DATE(AN2;12;31);N2)))
eric
Bonjour Minimix
Un fichier exemple avec l'utilisation de la formule d'Eriiic
Pour les date de fin s'il n'y en a pas mettre =MAINTENANT() ( voir N5 dans le fichier )que vous remplacerez par la date du jour de départ
http://www.cjoint.com/c/FJiis4im4Px
Un fichier exemple avec l'utilisation de la formule d'Eriiic
Pour les date de fin s'il n'y en a pas mettre =MAINTENANT() ( voir N5 dans le fichier )que vous remplacerez par la date du jour de départ
http://www.cjoint.com/c/FJiis4im4Px
Merci à tous les 2.
Pour les 2 formules le même problème, ceux sans date de sortie sont égaux à 0.
Du coup j'ai créé 3 colonnes intermédiaires pour que s'il n'y ait pas de date de fin cela mette le 31/12/NN.
Le formule donne donc : =SI($L2="";"";MAX(0;NB.JOURS.OUVRES(MAX(DATE($Z$1;1;1);$L2);MIN(DATE($Z$1;12;31);$P2))))
En Z1 : Année
Et P2 : =SI(N2="";$AQ$2;N2) - AQ étant le 31/12/14.
Pour les 2 formules le même problème, ceux sans date de sortie sont égaux à 0.
Du coup j'ai créé 3 colonnes intermédiaires pour que s'il n'y ait pas de date de fin cela mette le 31/12/NN.
Le formule donne donc : =SI($L2="";"";MAX(0;NB.JOURS.OUVRES(MAX(DATE($Z$1;1;1);$L2);MIN(DATE($Z$1;12;31);$P2))))
En Z1 : Année
Et P2 : =SI(N2="";$AQ$2;N2) - AQ étant le 31/12/14.
J'ai essayé si date de fin est avant le 01/01/14 alors ne rien mettre, mais ça me donne de nombreuses erreurs sur les autres cas