Vzorec aplikace Excel: Mřížka dynamického kalendáře -

Obsah

souhrn

Mřížku dynamického kalendáře můžete nastavit na listu aplikace Excel s řadou vzorců, jak je vysvětleno v tomto článku. V zobrazeném příkladu je vzorec v B6:

=start-CHOOSE(WEEKDAY(start),0,1,2,3,4,5,6)

kde „start“ je pojmenovaný rozsah K5 a obsahuje datum 1. září 2018.

Vysvětlení

Poznámka: Tento příklad předpokládá, že počáteční datum bude poskytnuto jako první v měsíci. Níže naleznete vzorec, který dynamicky vrátí první den aktuálního měsíce.

S rozložením mřížky, jak je znázorněno, je hlavním problémem výpočet data v první buňce v kalendáři (B6). To se provádí pomocí tohoto vzorce:

=start-CHOOSE(WEEKDAY(start),0,1,2,3,4,5,6)

Tento vzorec spočítá neděli před prvním dnem v měsíci pomocí funkce VÝBĚR k „vrácení“ správného počtu dnů k předchozí neděli. CHOOSE v této situaci funguje perfektně, protože umožňuje libovolné hodnoty pro každý den v týdnu. Tuto funkci používáme k vrácení nula dnů, když je prvním dnem v měsíci neděle. Další podrobnosti o tomto problému jsou uvedeny zde.

Když je první den stanoven v B6, ostatní vzorce v mřížce jednoduše zvýší předchozí datum o jedno, počínaje vzorcem v C6:

=IF(B6"",B6,$H5)+1

Tento vzorec testuje hodnotu buňky okamžitě vlevo. Pokud není nalezena žádná hodnota, vytáhne hodnotu ze sloupce H v řádku výše. Poznámka $ H5 je smíšený odkaz, který zamkne sloupec při kopírování vzorce v mřížce. Stejný vzorec se používá ve všech buňkách kromě B6.

Pravidla podmíněného formátování

Kalendář používá vzorce podmíněného formátování, které mění formátování tak, aby stínily předchozí a budoucí měsíce a zvýrazňovaly aktuální den. Obě pravidla se vztahují na celou mřížku. Pro předchozí a následující měsíce platí vzorec:

=MONTH(B6)MONTH(start)

Pro aktuální den platí vzorec:

=B6=TODAY()

Další informace najdete v části: Podmíněné formátování pomocí vzorců (10 příkladů)

Nadpis kalendáře

Název kalendáře - měsíc a rok - se počítá pomocí tohoto vzorce v buňce B4:

=start

Formátováno s vlastním formátem čísla „mmmm rrrr“. Chcete-li vycentrovat nadpis nad kalendářem, rozsah B4: H4 má vodorovné zarovnání nastaveno na „vycentrovat přes výběr“. Toto je lepší volba než slučování buněk, protože to nezmění strukturu mřížky v listu.

Věčný kalendář s aktuálním datem

Chcete-li vytvořit kalendář, který se automaticky aktualizuje na základě aktuálního data, můžete v K5 použít tento vzorec:

=EOMONTH(TODAY(),-1)+1

Tento vzorec získá aktuální datum pomocí funkce DNES, poté získá první den aktuálního měsíce pomocí funkce EOMONTH. Nahraďte TODAY () libovolným daným datem a vytvořte si kalendář v jiném měsíci. Více podrobností o tom, jak EOMONTH funguje zde.

Kroky k vytvoření

  1. Skrýt čáry mřížky (volitelně)
  2. Přidejte ohraničení na B5: H11 (7R x 7C)
  3. Pojmenujte K5 „start“ a zadejte datum jako „1. září 2018“
  4. Vzorec v B4 = start
  5. Formátovat B4 jako „mmmm rrrr“
  6. Vyberte B4: H4, nastavte zarovnání na „Přes střed výběru“
  7. V rozsahu B5: H5 zadejte denní zkratky (SMTWTFS)
  8. Vzorec v B6 = start-VÝBĚR (WEEKDAY (start), 0,1,2,3,4,5,6)
  9. Vyberte B6: H11, použijte vlastní formát čísla „d“
  10. Vzorec v C6 = IF (B6 "", B6, $ H5) +1
  11. Zkopírujte vzorec v C6 do zbývajících buněk v mřížce kalendáře
  12. Přidat pravidlo předchozího / dalšího podmíněného formátování (viz vzorec výše)
  13. Přidat aktuální pravidlo podmíněného formátování (viz vzorec výše)
  14. Změňte datum v K5 na jiné datum „prvního měsíce“, které chcete otestovat
  15. Pro věčný kalendář vzorec v K5 = EOMONTH (DNES (), - 1) +1

Zajímavé články...