Excel-kaava: Dynaaminen kalenteriruudukko -

Sisällysluettelo

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

  1. Piilota ruudukkoviivat (valinnainen)
  2. Lisää reunus kohtaan B5: H11 (7R x 7C)
  3. Nimeä K5 "alku" ja kirjoita päivämäärä, kuten "1. syyskuuta 2018"
  4. Kaava kohdassa B4 = alku
  5. Muoto B4 muodossa "kk vvvv"
  6. Valitse B4: H4, aseta kohdistukseksi "Keskitä valinnan yli"
  7. Alueelle B5: H5, kirjoita päivän lyhenteet (SMTWTFS)
  8. Kaava kohdassa B6 = start-CHOOSE (WEEKDAY (start), 0,1,2,3,4,5,6)
  9. Valitse B6: H11, käytä mukautettua numeromuotoa "d"
  10. Kaava ryhmässä C6 = IF (B6 "", B6, $ H5) +1
  11. Kopioi kaava C6: ssa jäljellä oleviin soluihin kalenteriruudukossa
  12. Lisää edellinen / seuraava ehdollisen muotoilun sääntö (katso yllä oleva kaava)
  13. Lisää nykyinen ehdollisen muotoilun sääntö (katso yllä oleva kaava)
  14. Vaihda päivämäärä K5: ssä toiseksi "ensimmäisen kuukauden" päivämääräksi testattavaksi
  15. Ikuisen kalenterin kaava muodossa K5 = VIIKKO (TÄNÄÄN (), - 1) +1

Mielenkiintoisia artikkeleita...