本文的標題是《這年頭,Excel都可以DIY日歷了,你不會還不知道吧》來源于:由作者:陳燕紅采編而成,主要講述了大家好,2022 年都已經過去 4 天了,大家去年的目標都完成了嗎?新的一年需要新的日歷
大家好,2022 年都已經過去 4 天了,大家去年的目標都完成了嗎?
新的一年需要新的日歷,最近我看到好多人在曬他們收到的新年日歷。 然鵝,我沒收到,不開心~
這時,坐在電腦前的我看到了 Excel,突然想到,我可以給自己做個日歷啊,既能省錢,還能按照自己的心意 DIY!!!
如下圖: 通過控件切換月份,日歷中的日期,農歷,以及休班狀態自動更新!
是不是特別炫酷?
?
接下來,我就來揭開這份日歷表的層層面紗。
01 制作外觀
首先我們要制作日歷表的外觀,在日歷表中,每個格子是三行兩列的,行格為 6,列格為 7。
E3 單元格為 2022,對應數字格式為 0 年,E4 單元格為 1,對應數字格式為 0 月。
?
事先準備好參數表。
▋插入控件
在【開發工具】選項卡下,點擊【插入】-【數值調節鈕】。
右鍵控件,選擇【設置控件格式】。
?
設置對象窗口中,最小值為 1,最大值為 12,單元格鏈接為 F4。(月份為 1-12,所以最小值為 1,最大值為 12)
PS. 如果沒有【開發工具】選項卡,在【文件】-【選項】-【自定義功能區】中調出。
基本的外觀制作好后,下面就是編寫公式啦。
02 編寫公式
如下圖,在 E7 單元格中輸入如下公式:
=DATE($E$3,$F$4,1)-WEEKDAY(DATE($E$3,$F$4,1),2)+INT(COLUMN(A:A)/2)+INT((ROW(1:1)-1)/3)*7</span></code>
如下圖,在 F7 單元格中輸入如下公式:
=IF(MONTH(E7)=$F$4,IFERROR(VLOOKUP(E7,參數表!$A:$D,4,0),""),"")
如下圖,在 E8 單元格中輸入如下公式:
=IF(MONTH(E7)=$F$4,IFERROR(VLOOKUP(E7,參數表!$A:$D,3,0),""),"")
最后填充公式就可以啦~ 如動圖所示,選擇 E7:F9,向右向下填充公式。
小 tips: E7 單元格函數公式:
=DATE($E$3,$F$4,1)-WEEKDAY(DATE($E$3,$F$4,1),2)+INT(COLUMN(A:A)/2)+INT((ROW(1:1)-1)/3)*7
其中前面一半公式是求:當前月 1 號上一個星期日的日期。
=DATE($E$3,$F$4,1)-WEEKDAY(DATE($E$3,$F$4,1),2)
后半段則是求:當前月 1 號上一個星期日的,也就是前半段公式得出的日期。 需要加上多少間隔數,才能得出當前單元格的日期。
=INT(COLUMN(A:A)/2)+INT((ROW(1:1)-1)/3)*7
比如說,2022 年 1 月 1 號,就是當前月 1 號前一個周日的日期(2021 年 12 月 26 號)+6。
?
F7 單元格函數公式:
=IF(MONTH(E7)=$F$4,IFERROR(VLOOKUP(E7,參數表!$A:$D,4,0),""),"")
如下圖,如果是左邊的日期是本月的日期,則使用 vlookup 函數查找對應日期的對應休班狀態,否則顯示為空。
E8 單元格函數公式:
=IF(MONTH(E7)=$F$4,IFERROR(VLOOKUP(E7,參數表!$A:$D,3,0),""),"")
如果是上邊的日期是本月的日期,則使用 vlookup 函數查找對應日期的對應日,否則顯示為空。
公式設置完后,下一步就是要「裝飾」日歷表啦~
03 設置格式
▋設置休班狀態格式
? 讓 0 不顯示
填充完公式后,我們發現狀態單元格中有很多 0,影響表格的美觀程度,所以要讓這些 0 都不顯示。
這要怎么做呢?我們可以使用自定義數字格式。 按住【Ctrl】鍵,選中需要設置的單元格區域,再按住快捷鍵【Ctrl+1】彈出【設置單元格格式】對話框。
然后在類型中輸入;;;@,單擊【確定】按鈕,此時除了文本,所有的 0 都顯示為空白了。
小 Tips:在數字格式中,正數格式;負數格式;零值格式;文本格式。
;;;@ 其實就是就是讓數值都不顯示,文本顯示本身,@ 符號代表文本本身的字符。 ? 設置休班顏色
將休字顯示為紅色,將班字顯示為藍色,這里我們可以使用條件格式。
在【開始】選項卡,單擊【條件格式】,選擇新建規則。
注意:活動單元格是 F7,就是下圖中左邊紅框的位置(活動單元格指 Excel 表格中處于激活狀態的單元格。可以是正在編輯的,也可以是選取的范圍中的)。
選擇【使用公式確定要設置格式的單元格】,輸入為=F7="休",格式設置為紅色加粗字體,確定。
此時單元格中是「休」字的都顯示為紅色加粗字體。
同理,輸入為=F7="班",格式設置為藍色加粗字體,確定。
此時單元格中是「班」字的都顯示為藍色加粗字體。
▋不在當前月份的日期不顯示
如下圖,我們可以看到,不在同個月份的日期依舊顯示,這顯然并不是我們想要的。
?
按住【Ctrl】鍵,選中指定區域,點擊【條件格式】-【新建規則】。
選擇【使用公式確定要設置格式的單元格】,輸入:
=month(E7)ltgt$F$4
格式中字體設置為白色,單擊【確定】按鈕。
此時,我們所想要的效果就完成了,要想更美觀的話,我們可以把農歷單元格(如 Q8:R8 等)進行合并單元格**作。
04 延伸拓展
你以為這就結束啦?當然還沒有。
?
由于不同人的休假,還有調班時間不同,我們可以在參數表中對應位置選擇好對應狀態,日歷表中就可以自動更新。
?
對于特殊日子,我們也可以在參數表中輸入,比如某某日是你的生日,日歷表中也會自動更新。
我們也可以在日歷下面添加備注,如下圖所示,然后就可以直接進行打印啦。
?
案例中的日歷中使用的都是主題色,所以我們也可以通過更改主題色,變身成為另外的樣子!
?
05 寫在最后
最后,總結一下: 本文介紹了日歷表更高級的做法,具備農歷加休班狀態,公式自動更新的日歷。
? 制作日歷外觀確定好日歷所需要的行列數,根據自己的需求制作好外觀。
? 設置公式日期數的確定:利用當前月的 1 號前一個星期日數來**日期首個單元格。
休班狀態的查找:使用 vlookup 函數進行查找。農歷的查找:使用 vlookup 函數進行查找。
? 設置格式針對休班狀態出現的 0 值,我們可以使用數字格式將 0 值進行隱藏,文中我們使用的;;;@
利用條件格式,將不屬于當月的日期進行隱藏。
? 簡單的進行延伸拓展由于本文的日歷表是用公式制作的,所以比較靈活,我們可以根據自己的需求,再 DIY 制作屬于自己的日歷表。
當然啦,日歷的玩法不局限這些,大家可以開開自己的腦洞,做出更多好玩的日歷!!
?
最后我想說,2022 新年快樂鴨~對于新的一年大家有什么期待,或者對過去的 2021 有什么想說的,留言區可以與大家一起聊聊哦~
本文原作者為陳燕紅,轉載請注明:出處!如該文有不妥之處,請聯系站長刪除,謝謝合作~
原創文章,作者:陳燕紅,如若轉載,請注明出處:http://www.uuuxu.com/20220516324797.html