Roční kalendář pomocí jediného maticového vzorce

Pro informace o výuce Excelu klikněte zde

Možná znáte Walkenbachův měsíční kalendář http://j-walk.com/ss/excel/files/calarray.exe vytvořený pomocí jediného maticového vzorce.

Byl jsem dotázán, zda lze udělat podobný kalendář, ale na rok a s šířkou 28 dnů z důvodů plánování rozpisů týdenních směn.

A protože v Excelu je možné téměř vše, tak tady je:

{=KDYŽ(ROK(DATUM(A4;1;+({1;2;3;4;5;6;7;8;9;10;11;12;13;14;15;16;17;18;19;20;21;22;23;24;25;26;27;28}
+{1|2|3|4|5|6|7|8|9|10|11|12|13|14}*28-28)))=A4;
DATUM(A4;1;+({1;2;3;4;5;6;7;8;9;10;11;12;13;14;15;16;17;18;19;20;21;22;23;24;25;26;27;28}
+{1|2|3|4|5|6|7|8|9|10|11|12|13|14}*28-28));““)}

Případně pro zpřehlednění vzorce můžeme maticové konstanty definovat jako název nebo vytvořit pomocí funkcí TRANSPOZICE, ŘÁDEK a NEPŘÍMÝ.ODKAZ:

{=KDYŽ(ROK(DATUM(A4;1;+(TRANSPOZICE(ŘÁDEK(NEPŘÍMÝ.ODKAZ(„1:28“)))
+ŘÁDEK(NEPŘÍMÝ.ODKAZ(„1:14“))*28-28)))=A4;
DATUM(A4;1;+(TRANSPOZICE(ŘÁDEK(NEPŘÍMÝ.ODKAZ(„1:28“)))
+ŘÁDEK(NEPŘÍMÝ.ODKAZ(„1:14″))*28-28));““)}

kde rok je v buňce A4. Před vložením vzorce se musí označit oblast 14řádků/28sloupců, zapsat vzorec (bez závorek na začátku a konci) a stisknout  CTRL+SHIFT+ENTER.

Vše Vám bude jasnější ze vzorového sešitu.

Napsat komentář

Vaše e-mailová adresa nebude zveřejněna. Vyžadované informace jsou označeny *