17. februar 2012 - 18:00
#7
Jeg fandt selv løsningen - jeg skriver den her, så andre evt. kan bruge den . . . :
A1 er 1. sygeperiodes 1. dag - B1 er 1. sygeperiodes sidstedag.
C1 er 2. sygeperiodes 1. dag - D1 er 2. sygeperiodes sidstedag.
"aar" er en konstant nemlig det år fraværsstatistikken handler om.
I E1 beregnes, hvor mange af de to perioders sygedage, der falder i februar med denne formel:
=IF(AND(AND(a1<>"",MONTH(a1)<2,MONTH(b1)=2)),DATE(aar,MONTH(b1),DAY(b1))-EOMONTH(DATE(aar,MONTH(b1),DAY(b1)),-1),0)+
IF(AND(AND(c1<>"",MONTH(c1)<2,MONTH(d1)=2)),DATE(aar,MONTH(d1),DAY(d1))-EOMONTH(DATE(aar,MONTH(d1),DAY(d1)),-1),0)+
IF(AND(AND(a1<>"",MONTH(a1)=2,MONTH(b1)=2)),DATE(aar,MONTH(b1),DAY(b1))-DATE(aar,MONTH(a1),DAY(a1))+1,0)+
IF(AND(AND(c1<>"",MONTH(c1)=2,MONTH(d1)=2)),DATE(aar,MONTH(d1),DAY(d1))-DATE(aar,MONTH(c1),DAY(c1))+1,0)+
IF(AND(AND(a1<>"",MONTH(a1)=2,MONTH(b1)>2)),EOMONTH(DATE(aar,MONTH(a1),DAY(a1)),0)-DATE(aar,MONTH(a1),DAY(a1))+1,0)+
IF(AND(AND(c1<>"",MONTH(c1)=2,MONTH(d1)>2)),EOMONTH(DATE(aar,MONTH(c1),DAY(c1)),0)-DATE(aar,MONTH(c1),DAY(c1))+1,0)+
IF(AND(AND(a1<>"",MONTH(a1)<2,MONTH(b1)>2)),EOMONTH(DATE(aar,2,1),0)-EOMONTH(DATE(aar,2,1),-1),0)+
IF(AND(AND(c1<>"",MONTH(c1)<2,MONTH(d1)>2)),EOMONTH(DATE(aar,2,1),0)-EOMONTH(DATE(aar,2,1),-1),0)
I formlens 1. fjerdedel beregnes sygedage i februar hvis 1. sygedag falder før februar måned og 2. sygdedag i februar.
I formlens 2. fjerdedel beregnes sygedage i februar hvis både 1. og sidste sygedag falder i februar.
I formlens 3. fjerdedel beregnes sygedage i februar hvis 1. sygedag falder i februar måned og 2. sygdedag i en senere måned.
I formlens sidste fjerdedel beregnes sygedage i februar hvis 1. sygedag falder i en måned før februar og 2. sygedeag i en senere måned.
Jeg har ikke valgt januar, da der ikke er en måned "før" januar, idet jeg kun opererer med et kalenderår ad gangen.
Venlig hilsen
Ole Viller, Randers