Vzorec programu Excel: Mriežka dynamického kalendára -

Obsah

Zhrnutie

Mriežku dynamického kalendára môžete nastaviť v pracovnom hárku programu Excel so sériou vzorcov, ako je vysvetlené v tomto článku. V zobrazenom príklade je vzorec v B6:

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

kde „štart“ je pomenovaný rozsah K5 a obsahuje dátum 1. september 2018.

Vysvetlenie

Poznámka: Tento príklad predpokladá, že počiatočný dátum bude uvedený ako prvý v mesiaci. Nižšie nájdete vzorec, ktorý dynamicky vráti prvý deň aktuálneho mesiaca.

Pri rozložení mriežky, ako je znázornené, je hlavným problémom výpočet dátumu v prvej bunke v kalendári (B6). To sa deje pomocou tohto vzorca:

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

Tento vzorec počíta nedeľu pred prvým dňom v mesiaci pomocou funkcie ZVOLIŤ na „vrátenie“ správneho počtu dní do predchádzajúcej nedele. CHOOSE v tejto situácii funguje perfektne, pretože umožňuje ľubovoľné hodnoty pre každý deň v týždni. Túto funkciu používame na vrátenie nula dní, keď je prvým dňom v mesiaci nedeľa. Viac podrobností o tomto probléme nájdete tu.

Keď je prvý deň stanovený v B6, ostatné vzorce v mriežke jednoducho zvýšia predchádzajúci dátum o jeden, počnúc vzorcom v C6:

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

Tento vzorec testuje hodnotu bunky ihneď vľavo. Ak sa nenájde žiadna hodnota, vytiahne hodnotu zo stĺpca H v riadku vyššie. Poznámka $ H5 je zmiešaná referencia na uzamknutie stĺpca pri kopírovaní vzorca do mriežky. Rovnaký vzorec sa používa vo všetkých bunkách okrem B6.

Pravidlá podmieneného formátovania

Kalendár používa vzorce podmieneného formátovania, ktoré menia formátovanie tak, aby zatienili predchádzajúce a budúce mesiace a zvýraznili aktuálny deň. Obidve pravidlá sa uplatňujú na celú mriežku. Pre predchádzajúci a nasledujúci mesiac platí vzorec:

=MONTH(B6)MONTH(start)

Pre aktuálny deň je vzorec:

=B6=TODAY()

Ďalšie informácie nájdete v téme: Podmienené formátovanie pomocou vzorcov (10 príkladov)

Nadpis kalendára

Názov kalendára - mesiac a rok - sa počíta s týmto vzorcom v bunke B4:

=start

Naformátované vlastným formátom čísla „mmmm rrrr“. Na vycentrovanie nadpisu nad kalendárom má rozsah B4: H4 vodorovné zarovnanie nastavené na „vycentrovať na výber“. Toto je lepšia voľba ako zlúčenie buniek, pretože to nezmení štruktúru mriežky v hárku.

Večný kalendár s aktuálnym dátumom

Ak chcete vytvoriť kalendár, ktorý sa automaticky aktualizuje na základe aktuálneho dátumu, môžete v K5 použiť tento vzorec:

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

Tento vzorec získa aktuálny dátum s funkciou DNES, potom získa prvý deň aktuálneho mesiaca pomocou funkcie EOMONTH. Ak chcete zostaviť kalendár v inom mesiaci, nahraďte DNES () ľubovoľným daným dátumom. Viac podrobností o tom, ako funguje EOMONTH, tu.

Kroky k vytvoreniu

  1. Skryť čiary mriežky (voliteľné)
  2. Pridajte orámovanie na B5: H11 (7R x 7C)
  3. Pomenujte K5 „štart“ a zadajte dátum ako „1. september 2018“
  4. Vzorec v B4 = začiatok
  5. Formátovať B4 ako „mmmm rrrr“
  6. Vyberte B4: H4, nastavte zarovnanie na „Vycentrovať na výber“
  7. V rozsahu B5: H5 zadajte denné skratky (SMTWTFS)
  8. Vzorec v B6 = štart-VÝBER (WEEKDAY (štart), 0,1,2,3,4,5,6)
  9. Vyberte B6: H11, použite vlastný formát čísla „d“
  10. Vzorec v C6 = IF (B6 "", B6, $ H5) +1
  11. Skopírujte vzorec v C6 do zvyšných buniek v mriežke kalendára
  12. Pridajte pravidlo predchádzajúceho / nasledujúceho podmieneného formátovania (pozri vzorec vyššie)
  13. Pridajte aktuálne pravidlo podmieneného formátovania (pozri vzorec vyššie)
  14. Zmeňte dátum v K5 na iný dátum „prvého mesiaca“ na testovanie
  15. Pre večný kalendár vzorec v K5 = EOMONTH (DNES (), - 1) +1

Zaujímavé články...