„Excel“ formulė: dinaminis kalendoriaus tinklelis -

Turinys

Santrauka

„Excel“ darbalapyje galite nustatyti dinaminį kalendoriaus tinklelį su formulių serija, kaip paaiškinta šiame straipsnyje. Parodytame pavyzdyje formulė B6 yra:

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

kur „pradžia“ yra pavadintas diapazonas K5 ir nurodoma 2018 m. rugsėjo 1 d. data.

Paaiškinimas

Pastaba: šiame pavyzdyje daroma prielaida, kad pradžios data bus nurodyta kaip mėnesio pirmoji. Žemiau rasite formulę, kuri dinamiškai grąžins pirmąją einamojo mėnesio dieną.

Taikant tinklelio išdėstymą, kaip parodyta, pagrindinė problema yra apskaičiuoti datą pirmame kalendoriaus langelyje (B6). Tai daroma pagal šią formulę:

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

Ši formulė apskaičiuojama sekmadienį, einantį prieš pirmą mėnesio dieną, naudojant funkciją PASIRINKTI, norint „sugrąžinti“ reikiamą dienų skaičių į ankstesnį sekmadienį. CHOOSE šioje situacijoje veikia puikiai, nes leidžia pasirinkti savavališkas kiekvienos savaitės dienos vertes. Šią funkciją naudojame norėdami sugrąžinti nulinę dieną, kai pirmoji mėnesio diena yra sekmadienis. Daugiau informacijos apie šią problemą pateikiama čia.

Pirmąją dieną nustatant B6, kitos tinklelio formulės ankstesnę datą tiesiog padidina viena, pradedant C6 formule:

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

Pagal šią formulę langelis tikrinamas iškart kairėje, kad būtų nustatyta vertė. Jei nerandama jokios vertės, ji ištraukia vertę iš aukščiau esančios eilutės H stulpelio. Pastaba $ H5 yra mišri nuoroda, skirta užrakinti stulpelį, nes formulė nukopijuojama visame tinkle. Ta pati formulė naudojama visose ląstelėse, išskyrus B6.

Sąlyginio formatavimo taisyklės

Kalendorius naudoja sąlyginio formatavimo formules, kad pakeistų formatą, kad būtų tamsesni ankstesni ir ateinantys mėnesiai ir paryškinta dabartinė diena. Abi taisyklės taikomos visam tinklui. Ankstesnių ir kitų mėnesių formulė yra tokia:

=MONTH(B6)MONTH(start)

Šios dienos formulė yra:

=B6=TODAY()

Norėdami gauti daugiau informacijos, žr. Sąlyginis formatavimas naudojant formules (10 pavyzdžių)

Kalendoriaus antraštė

Kalendoriaus pavadinimas - mėnuo ir metai - apskaičiuojamas pagal šią formulę B4 langelyje:

=start

Suformatuotas pagal pasirinktinį skaičių formatą „mmmm yyyy“. Norint centruoti pavadinimą virš kalendoriaus, diapazone B4: H4 horizontalus lygiavimas nustatytas kaip „centruoti per pasirinkimą“. Tai yra geresnė galimybė nei sujungti langelius, nes tai nekeičia tinklelio struktūros darbalapyje.

Nuolatinis kalendorius su dabartine data

Norėdami sukurti kalendorių, kuris automatiškai atnaujinamas pagal dabartinę datą, galite naudoti tokią formulę kaip K5:

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

Ši formulė gauna dabartinę datą naudodama funkciją TODAY, tada gauna pirmąją einamojo mėnesio dieną naudodama funkciją EOMONTH. Pakeiskite TODAY () į bet kurią nurodytą datą, kad sukurtumėte kito mėnesio kalendorių. Daugiau informacijos apie tai, kaip veikia EOMONTH, rasite čia.

Kurimo žingsniai

  1. Slėpti tinklelio linijas (nebūtina)
  2. Pridėti kraštinę prie B5: H11 (7R x 7C)
  3. Pavadinkite K5 „pradžia“ ir įveskite datą, pvz., „2018 m. Rugsėjo 1 d.“
  4. Formulė B4 = pradžia
  5. B4 formatas „mmmm yyyy“
  6. Pasirinkite B4: H4, nustatykite lygiavimą į „Centruoti pasirinkimo vietoje“
  7. B5: H5 diapazone įveskite dienų santrumpas (SMTWTFS)
  8. Formulė B6 = start-CHOOSE (WEEKDAY (startas), 0,1,2,3,4,5,6)
  9. Pasirinkite B6: H11, pritaikykite pasirinktinį skaičiaus formatą „d“
  10. Formulė C6 = IF (B6 "", B6, $ H5) +1
  11. Nukopijuokite C6 formulę į likusias langelius kalendoriaus tinklelyje
  12. Pridėti ankstesnio / kito sąlyginio formatavimo taisyklę (žr. Aukščiau pateiktą formulę)
  13. Pridėti dabartinę sąlyginio formatavimo taisyklę (žr. Aukščiau pateiktą formulę)
  14. Pakeiskite datą K5 į kitą „pirmo mėnesio“ datą, kad galėtumėte išbandyti
  15. Nuolatiniam kalendoriui formulė K5 = MĖNESIS (TODAY (), - 1) +1

Įdomios straipsniai...