OVH Cloud OVH Cloud

Répartititon de jours dans des mois

11 réponses
Avatar
jimo
Voila, je fais des stats sur des maladies et je voudrais répartir les
absences en nombre de jours par mois.
J'ai donc la date de début et la date de fin puis 12 colonnes correpondants
aux mois : janv, fév, etc
Et je voudrais écrire une formule qui me ramene le nombre de jours d'arret
maladies. Formule avec calcul calendaire et/ou en trentième
Exemple :
arret maladie du 16/03/04 au 16/05/04 inclus

Objectif

colonne mars = 15
colonne avril = 30
colonne mai = 16

Pourriez-vous m'aider merci

1 réponse

1 2
Avatar
Corona
Bonsoir Jimo,
Pour le fun, et en partant de ce que Daniel a écrit.
Voici une solution qui permet de ne pas placer de date de début et de
fin et donc de gagner 2 lignes

=MAX(0;MIN($B3+1;DATE(ANNEE(C$1);MOIS(C$1);JOUR(DATE(ANNEE(C$1);MOIS(C$1)+1;
0)))+1)-MAX(C$1;$A3))
En ligne 1 et commencant en C, mettre la date du 1er de chaque mois
1/01/2004 1/02/2004 etc ...
A partir de A2, B2 les dates de début et de fin de maladie.

La formule ' =JOUR(DATE(ANNEE( C$1 );MOIS( c$1 )+1;0))' donne le
dernier jour du mois.
Cette formule n'est pas de moi ;-), je l'ai trouvée sur le site de
Laurent Longre http://longre.free.fr
Sur la ligne où se trouve les dates de chaques mois, je place en C1
'01/01/2004' et ensuite à partir de D1 et jusqu'à N1
ÚTE(ANNEE(C$1);MOIS(C$1)+1;JOUR(C$1))
Cela évite de taper les 12 dates
Philippe

"Daniel.M" a écrit dans le message de
news:
Bonjour,

=SI(MOIS($A4)=MOIS(C$3);C$3-$A4+1;0)+SI(ET(MOIS(C$3)>MOIS($A4);
MOIS(C$3)<MOIS($B4));JOUR(C$3);0)+SI(MOIS($B4)=MOIS(C$3);$B4-C$2+1;)


Ou ça (si j'ai compris):

=MAX(0;MIN($B4+1;C$3+1)-MAX(C$2;$A4))

Et pour ne pas avoir à générer les premiers et derniers jours de chaque
mois, on

met l'année en A1, et les nombres 1 à 12 en C1:N1

=MAX(0;MIN($B4+1;DATE($A$1;C$1+1;1))-MAX(DATE($A$1;C$1;1);$A4))

Puis, on enlève les lignes 2 et 3.

Salutations,

Daniel M.





1 2