如何用Excel製作日曆?
用Excel製作日期是一個比較有挑戰的問題,這個問題涉及到Excel中多個函式的應用。下面我就分享一下我製作的日曆,希望有興趣的小夥伴們跟我交流。
首先介紹一下在製作這個日曆的過程中,我都使用了哪些Excel工具:
資料驗證:在這裡用於製作下拉選擇列表
文字日期轉換數值日期的函式:DATEVALUE
星期函式(weekday)
文字函式:TEXT、LEFT、RIGHT、MID、LEN
條件判斷函式:IF,IFERROR
設定單元格格式--日期格式
設定條件格式
廢話補多少,進入正題。
第一步:畫一個如下圖所示的模板,大家可以根據自己的喜好設定格式。
第二步:設定模板中的星期
在顯示“星期”的行輸入序列數字“2,3,4,5,6,7,1”。
選中該區域,調出“設定單元格格式”對話方塊--選擇“日期”--選擇“型別”為“週三”得到如下效果。
第三步:製作“年”和“月”的下拉列表
如下圖所示,我在L列和M列分別將“年”和“月”列出。
用同樣的方法設定月份的下拉列表。
最後將年份和月份的列表區隱藏起來。
如下圖所示,在輔助區域分別輸入公式:
公式1:=DATEVALUE(LEFT($C$1,4)&"/"&MID($D$1,1,LEN($D$1)-1))
公式2:=WEEKDAY($J$4)
公式3:=TEXT(EOMONTH($J$4,0),"d")*1
公式解析:
公式1:
DATEVALUE函式用於將文字格式的日期轉換成數值格式的日期。
LEFT函式:在這裡用於從C1單元格的值“2019年”中擷取“2019”。
MID函式:在這裡用於從D1單元格的值“6月”中擷取“6”。
把LEFT函式和MID函式擷取的值用“&”連線符連線起來並在中間插入“/”符號,並用DATEVALUE函式轉換成數字型別的日期後就得到了如:2019\6\1這樣的日期。
在Excel中如果你只輸入了年和月,並將該單元格的格式設定為日期格式,那麼該單元格會自動將該日期指向該月的1號。
公式2:
WEEKDAY($J$4):用於根據J4單元格的日期是星期幾。
公式1和公式2可以巢狀在一起使用。
公式3:
EMOHTH函式:在這裡用於根據J4單元格的值確定該月的最後一天是幾號。
TEXT函式:在這裡用於從EMONTH函式獲取的值中提取最後的日期。
*1:在這裡將TEXT函式的值轉換為數值型別。
經過前面的準備工作後,我麼現在可以開始日曆的製作了。
第一步:確定當月一號在日曆模板中的位置。
這一步最麻煩,雖然我們已經知道了“1號”是星期幾,但我們現在需要在日曆模板中的正確的位置將其顯示出來,這就需要進行判斷。
在“週一”對應的A3單元格輸入公式:=IF(A2=$J$5,1,"")。這個公式是用於判斷“週一”所在的單元格的值與J5單元格的值是不是相等,如果相等則返回“1”(說明1號時星期一),不相等則返回空值。
在“週二”對應的單元格B3輸入公式:=IFERROR(IF(A3<>"",A3+1,IF(B2=$J$5,1,"")),"")。這個公式首先判斷A3單元格是不是1,如果是1則返回A3的值“+1”;如果A3單元格的值不是“1”,則返回公式:IF(B2=$J$5,1,"")(這個公式的判斷方式與A3單元格的公式一樣)的返回值。
IFERROR函式的作用是當IF函式的返回值是錯誤值時,保證返回的是空值。
設定好單元格的引用方式,然後將B3單元格的公式向後拖動的G3(週日)單元格。
第二步:利用公式生成後續日期
如下圖所示,在A4單元格里輸入公式:=G3+1,在B4單元格里輸入公式:A4+1,這兩個公式應該很好理解,及不做解釋了。
將A4單元格的公式向下拖動,將B4單元格的公式向右拖動然後再向下拖動填充。
第三步:把錯誤的日期清理掉
如上圖所示,6月份只有30天,而上圖中卻顯示到了“37”,所以需要將多出來的部分給清理掉。
我們將後面兩行的公式進行修改:
在A7單元格輸入公式:=IFERROR(IF((G6+1)>$J$6,"",(G6+1)),""),向下拖動填充。
這個公式用於判斷"G6+1"的值是否大於“J6”單元格的值(當月的最後一天),如果大於"J6"的值則返回空值,如果不大於則返回“G6+1”。
在B7單元格輸入公式:=IFERROR(IF((A7+1)>$J$6,"",(A7+1)),""),向右向下拖動填充。這個公式的判斷原理跟上一個公式一樣。
設定完成後,就不會再顯示大於當月最後一天的日期了。
好啦,我的日曆表基本製作步驟就是這樣,小夥伴們可以根據自己的喜好對錶格的樣式進行設定,最好對錶格中的進行保護設定,以免別人不小心把你辛苦設定的公式給弄沒了。
如何用Excel製作日曆?
用Excel製作日期是一個比較有挑戰的問題,這個問題涉及到Excel中多個函式的應用。下面我就分享一下我製作的日曆,希望有興趣的小夥伴們跟我交流。
首先介紹一下在製作這個日曆的過程中,我都使用了哪些Excel工具:
資料驗證:在這裡用於製作下拉選擇列表
文字日期轉換數值日期的函式:DATEVALUE
星期函式(weekday)
文字函式:TEXT、LEFT、RIGHT、MID、LEN
條件判斷函式:IF,IFERROR
設定單元格格式--日期格式
設定條件格式
廢話補多少,進入正題。
製作日曆模板和年月列表第一步:畫一個如下圖所示的模板,大家可以根據自己的喜好設定格式。
第二步:設定模板中的星期
在顯示“星期”的行輸入序列數字“2,3,4,5,6,7,1”。
選中該區域,調出“設定單元格格式”對話方塊--選擇“日期”--選擇“型別”為“週三”得到如下效果。
第三步:製作“年”和“月”的下拉列表
如下圖所示,我在L列和M列分別將“年”和“月”列出。
用同樣的方法設定月份的下拉列表。
最後將年份和月份的列表區隱藏起來。
根據選擇的“年”、“月”確定當月“1日”是星期幾和最後一天是幾號如下圖所示,在輔助區域分別輸入公式:
公式1:=DATEVALUE(LEFT($C$1,4)&"/"&MID($D$1,1,LEN($D$1)-1))
公式2:=WEEKDAY($J$4)
公式3:=TEXT(EOMONTH($J$4,0),"d")*1
公式解析:
公式1:
DATEVALUE函式用於將文字格式的日期轉換成數值格式的日期。
LEFT函式:在這裡用於從C1單元格的值“2019年”中擷取“2019”。
MID函式:在這裡用於從D1單元格的值“6月”中擷取“6”。
把LEFT函式和MID函式擷取的值用“&”連線符連線起來並在中間插入“/”符號,並用DATEVALUE函式轉換成數字型別的日期後就得到了如:2019\6\1這樣的日期。
在Excel中如果你只輸入了年和月,並將該單元格的格式設定為日期格式,那麼該單元格會自動將該日期指向該月的1號。
公式2:
WEEKDAY($J$4):用於根據J4單元格的日期是星期幾。
公式1和公式2可以巢狀在一起使用。
公式3:
EMOHTH函式:在這裡用於根據J4單元格的值確定該月的最後一天是幾號。
TEXT函式:在這裡用於從EMONTH函式獲取的值中提取最後的日期。
*1:在這裡將TEXT函式的值轉換為數值型別。
開始日曆的製作經過前面的準備工作後,我麼現在可以開始日曆的製作了。
第一步:確定當月一號在日曆模板中的位置。
這一步最麻煩,雖然我們已經知道了“1號”是星期幾,但我們現在需要在日曆模板中的正確的位置將其顯示出來,這就需要進行判斷。
在“週一”對應的A3單元格輸入公式:=IF(A2=$J$5,1,"")。這個公式是用於判斷“週一”所在的單元格的值與J5單元格的值是不是相等,如果相等則返回“1”(說明1號時星期一),不相等則返回空值。
在“週二”對應的單元格B3輸入公式:=IFERROR(IF(A3<>"",A3+1,IF(B2=$J$5,1,"")),"")。這個公式首先判斷A3單元格是不是1,如果是1則返回A3的值“+1”;如果A3單元格的值不是“1”,則返回公式:IF(B2=$J$5,1,"")(這個公式的判斷方式與A3單元格的公式一樣)的返回值。
IFERROR函式的作用是當IF函式的返回值是錯誤值時,保證返回的是空值。
設定好單元格的引用方式,然後將B3單元格的公式向後拖動的G3(週日)單元格。
第二步:利用公式生成後續日期
如下圖所示,在A4單元格里輸入公式:=G3+1,在B4單元格里輸入公式:A4+1,這兩個公式應該很好理解,及不做解釋了。
將A4單元格的公式向下拖動,將B4單元格的公式向右拖動然後再向下拖動填充。
第三步:把錯誤的日期清理掉
如上圖所示,6月份只有30天,而上圖中卻顯示到了“37”,所以需要將多出來的部分給清理掉。
我們將後面兩行的公式進行修改:
在A7單元格輸入公式:=IFERROR(IF((G6+1)>$J$6,"",(G6+1)),""),向下拖動填充。
這個公式用於判斷"G6+1"的值是否大於“J6”單元格的值(當月的最後一天),如果大於"J6"的值則返回空值,如果不大於則返回“G6+1”。
在B7單元格輸入公式:=IFERROR(IF((A7+1)>$J$6,"",(A7+1)),""),向右向下拖動填充。這個公式的判斷原理跟上一個公式一樣。
設定完成後,就不會再顯示大於當月最後一天的日期了。
在彈出的“新建規則”對話方塊中選擇“使用公式確定要設定格式的單元格”。在下面的輸入區輸入公式:=DATEVALUE(LEFT($C$1,4)&"/"&MID($D$1,1,LEN($D$1)-1)&"/"&A3)=TODAY(),這個公式用於判斷模板中的日期與TODAY函式的值是否相等。點選格式,根據需要設定格式的樣式,後點擊確定。好啦,我的日曆表基本製作步驟就是這樣,小夥伴們可以根據自己的喜好對錶格的樣式進行設定,最好對錶格中的進行保護設定,以免別人不小心把你辛苦設定的公式給弄沒了。