大家好,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 有什麼想說的,留言區可以與大家一起聊聊哦~
,
更多精彩资讯请关注tft每日頭條,我们将持续为您更新最新资讯!