大家好,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有什么想說的,留言區可以與大家一起聊聊哦~