Yhteenveto
Voit määrittää dynaamisen kalenteriruudukon Excel-laskentataulukolle kaavasarjalla, kuten tässä artikkelissa selitetään. Esitetyssä esimerkissä kaavan B6 mukainen kaava on:
=start-CHOOSE(WEEKDAY(start),0,1,2,3,4,5,6)
missä "start" on nimetty alue K5 ja sisältää päivämäärän 1. syyskuuta 2018.
Selitys
Huomaa: Tässä esimerkissä oletetaan, että alkamispäivä ilmoitetaan kuukauden ensimmäisenä. Alla on kaava, joka palauttaa dynaamisesti kuluvan kuukauden ensimmäisen päivän.
Kun ruudukko on asennettu kuvan mukaisesti, pääongelma on laskea päivämäärä kalenterin ensimmäisessä solussa (B6). Tämä tehdään tällä kaavalla:
=start-CHOOSE(WEEKDAY(start),0,1,2,3,4,5,6)
Tämä kaava selvittää kuukauden ensimmäistä päivää edeltävän sunnuntain käyttämällä VALITSE-toimintoa "palauttamaan" oikean määrän päiviä edelliseen sunnuntaihin. CHOOSE toimii täydellisesti tässä tilanteessa, koska se sallii mielivaltaiset arvot jokaiselle viikonpäivälle. Käytämme tätä ominaisuutta palauttaaksemme nolla päivää, kun kuukauden ensimmäinen päivä on sunnuntai. Lisätietoja tästä ongelmasta on täällä.
Kun ensimmäinen päivä on määritetty kohdassa B6, muut ruudukon kaavat lisäävät edellistä päivämäärää yhdellä, aloittaen kaavassa C6:
=IF(B6"",B6,$H5)+1
Tämä kaava testaa solun arvon heti vasemmalle. Jos arvoa ei löydy, se vetää arvon yllä olevan rivin sarakkeesta H. Huomautus $ H5 on sekaviite sarakkeen lukitsemiseksi, kun kaava kopioidaan koko ruudukkoon. Samaa kaavaa käytetään kaikissa soluissa paitsi B6.
Ehdollisen muotoilun säännöt
Kalenteri käyttää ehdollisen muotoilun kaavoja muuttamaan muotoilua varjostamaan edellisiä ja tulevia kuukausia ja korostamaan nykyisen päivän. Molempia sääntöjä sovelletaan koko verkkoon. Edellisten ja seuraavien kuukausien kaava on:
=MONTH(B6)MONTH(start)
Kuluvan päivän kaava on:
=B6=TODAY()
Lisätietoja: Ehdollinen muotoilu kaavoilla (10 esimerkkiä)
Kalenterin otsikko
Kalenterin nimi - kuukausi ja vuosi - lasketaan tällä kaavalla solussa B4:
=start
Alustettu mukautetulla numeromuodolla "kk vvvv". Jos haluat keskittää otsikon kalenterin yläpuolelle, alueella B4: H4 on vaakasuora kohdistus asetettu "keskitä valinnan yli". Tämä on parempi vaihtoehto kuin solujen yhdistäminen, koska se ei muuta laskentataulukon ruudukkorakennetta.
Jatkuva kalenteri nykyisellä päivämäärällä
Voit luoda kalenterin, joka päivittyy automaattisesti nykyisen päivämäärän perusteella, käyttämällä tällaista kaavaa K5: ssä:
=EOMONTH(TODAY(),-1)+1
Tämä kaava saa nykyisen päivämäärän TODAY-toiminnolla ja saa sitten kuluvan kuukauden ensimmäisen päivän käyttämällä EOMONTH-funktiota. Korvaa TODAY () millä tahansa päivämäärällä rakentaaksesi kalenterin eri kuukaudelle. Lisätietoja EOMONTH: n toiminnasta täällä.
Vaiheet luomiseen
- Piilota ruudukkoviivat (valinnainen)
- Lisää reunus kohtaan B5: H11 (7R x 7C)
- Nimeä K5 "alku" ja kirjoita päivämäärä, kuten "1. syyskuuta 2018"
- Kaava kohdassa B4 = alku
- Muoto B4 muodossa "kk vvvv"
- Valitse B4: H4, aseta kohdistukseksi "Keskitä valinnan yli"
- Alueelle B5: H5, kirjoita päivän lyhenteet (SMTWTFS)
- Kaava kohdassa B6 = start-CHOOSE (WEEKDAY (start), 0,1,2,3,4,5,6)
- Valitse B6: H11, käytä mukautettua numeromuotoa "d"
- Kaava ryhmässä C6 = IF (B6 "", B6, $ H5) +1
- Kopioi kaava C6: ssa jäljellä oleviin soluihin kalenteriruudukossa
- Lisää edellinen / seuraava ehdollisen muotoilun sääntö (katso yllä oleva kaava)
- Lisää nykyinen ehdollisen muotoilun sääntö (katso yllä oleva kaava)
- Vaihda päivämäärä K5: ssä toiseksi "ensimmäisen kuukauden" päivämääräksi testattavaksi
- Ikuisen kalenterin kaava muodossa K5 = VIIKKO (TÄNÄÄN (), - 1) +1