Månadskalender
Här på denna sida presenteras några tekniker för att skapa månadskalendrar i XL.Dessa kan kombineras med villkorsstyrd formatering, där vi kan koppla ihop en årlig helgdagslista med kalender och därmed få helgdagarna markerade.
Översiktlig månadskalender
I det första exemplet demonstreras hur vi utifrån ett datum kan skapa en månadskalender för aktuellt år och månad:
Här används en större (!) matrisformel för att utifrån datumangivelsen i cell A1 skapa hela månaden:
- {=INDEX(OM(RAD(INDIREKT("1:42"))-VECKODAG($A$1;2)<=0;
"";OM(RAD(INDIREKT("1:42"))-VECKODAG($A$1;2)>
DAG(DATUM(ÅR($A$1);MÅNAD($A$1)+1;0));"";RAD(INDIREKT
("1:42"))-VECKODAG($A$1;2)));(RAD(A1)-1)*7+KOLUMN(A:A)
+1;1)}Formeln skapas i cell B4 och kopieras till resten av kalendern.
I nästa exempel demonstreras en enklare teknik men mer tidskrävande vid själva skapandet.
Den enda uppgiften som ska anges är ett årtal - I exemplet återfinns det i cell B2 (finns ej med i tabellen ovan).
För att räkna fram datumet för den första måndagen i tabellen ovan används följande formel:
- =OM(VECKODAG(DATUM($B$2;1;1);2)=1;DATUM($B$2;1;1);"")
För den första tisdagen används följande formel:
- =OM(VECKODAG(DATUM($B$2;1;1);2)=2;DATUM($B$2;1;1);OM(C6="";"";C6+1))
(cell C6 är föregående cell i raden)För de övriga veckodagarna i den första raden används samma formel men med andra tal för veckodagarna.
För raderna nedan används följande formel:
- =OM(ÄRFEL(OM(MÅNAD(I6+1)=MÅNAD(I6);I6+1;""))=SANT;"";OM(MÅNAD(I6+1)=MÅNAD(I6);I6+1;""))
Dvs, de refererar till föregående cell.
Årets övriga månader byggs upp på ett analogt sätt.För att erhålla veckonummer används följande formel:
- =OM(OCH(C6="";I6="");"";VECKONUMMER(MAX(C6:I6)))
Där funktionen VECKONUMMER återfinns i tilläggsverktyget R-Verktyget.
För det sista exemplet finns en mall att tillgå. Dessutom finns en väggkalender också att tillgå - Mallar.