Bemærk: Dette eksempel forudsætter, at startdatoen angives som den første i måneden. Se nedenfor for en formel, der dynamisk returnerer den første dag i den aktuelle måned.
med layoutet af gitteret som vist er hovedproblemet beregne datoen i den første celle i kalenderen (B6). Dette gøres med denne formel:
=start-CHOOSE(WEEKDAY(start),0,1,2,3,4,5,6)denne formel viser søndagen før den første dag i måneden ved at bruge funktionen Vælg til at “rulle tilbage” det rigtige antal dage til den foregående søndag. Vælg fungerer perfekt i denne situation, fordi det tillader vilkårlige værdier for hver dag i ugen. Vi bruger denne funktion til at rulle nul dage tilbage, når den første dag i måneden er en søndag. Flere detaljer om dette problem findes her.
med den første dag, der er etableret i B6, øger de andre formler i gitteret simpelthen den forrige dato med en, begyndende med formlen i C6:
=IF(B6<>"",B6,$H5)+1denne formel tester cellen straks til venstre for en værdi. Hvis der ikke findes nogen værdi, trækker den en værdi fra kolonne H i rækken ovenfor. Bemærk $H5 er en blandet reference for at låse kolonnen, da formlen kopieres i hele gitteret. Den samme formel anvendes i alle celler undtagen B6.
regler for Betinget formatering
kalenderen bruger betingede formateringsformler skift formatering for at skygge tidligere og fremtidige måneder og for at fremhæve den aktuelle dag. Begge regler anvendes på hele nettet. For tidligere og næste måneder er formlen:
=MONTH(B6)<>MONTH(start)for den aktuelle dag er formlen:
=B6=TODAY()
![]()
For flere detaljer, se: Betinget formatering med formler (10 eksempler)
Kalenderoverskrift
kalendertitlen – måned og år-beregnes med denne formel i celle B4:
=startformateret med det brugerdefinerede nummerformat “mmmm yyyy”. For at centrere titlen over kalenderen har området B4:H4 vandret justering indstillet til”center across selection”. Dette er en bedre mulighed end at flette celler, da det ikke ændrer gitterstrukturen i regnearket.
evig kalender med aktuel dato
for at oprette en kalender, der opdateres automatisk baseret på den aktuelle dato, kan du bruge formel som denne i K5:
=EOMONTH(TODAY(),-1)+1denne formel får den aktuelle dato med funktionen i dag og får derefter den første dag i den aktuelle måned ved hjælp af funktionen EOMONTH. Udskift i dag () med en given dato for at oprette en kalender i en anden måned. Flere detaljer om, hvordan EOMONTH fungerer her.
trin til oprettelse
- Skjul gitterlinjer (valgfrit)
- Tilføj en kant til B5:H11 (7R 7C)
- navn K5 “start” og indtast dato som “September 1, 2018”
- formel i B4 =start
- Format B4 som”mmmm ÅÅÅÅ”
- Vælg B4:H4, Indstil justering til “Center across selection”
- i interval B5: H5, indtast dagsforkortelser (SMVTFS)
- formel i B6 =Start-vælg(ugedag(start)),0,1,2,3,4,5,6)
- Vælg B6:H11, Anvend brugerdefineret nummerformat “d”
- formel i C6 =IF(B6″”,B6,$H5)+1
- Kopier formel i C6 til resterende celler i kalendernettet
- Tilføj forrige/næste betinget formateringsregel (se formel ovenfor)
- Tilføj Aktuel betinget formateringsregel (se formel ovenfor)
- Skift dato i K5 til en anden “første måned” Dato for at teste
- for evig kalender, formel i K5 =Eomonth(i dag(),-1)+1