Excel小案例之超級動態考勤表(二)

Excel小案例之超級動態考勤表(二)

Excel小案例之超級動態考勤表(二)

先說一下考勤表日期的設定,這裡使用的是DATE函式。1日這裡的公式是“

=DATE(C3,E3,1)

”。

Excel小案例之超級動態考勤表(二)

DATE函式括號裡有3個引數,第1個引數是年,範圍在1904-9999之間。第2個引數是月,範圍在1-12之間。第3個引數是日,範圍在1-31之間。

考勤表中前面二個引數,我們引用考勤月份這一列中的年跟月,日就直接寫數字1。最後出來的結果是標準的日期格式,2013/3/1。

CTRL+1

快捷鍵,

設定單元格格式–數字–自定義–型別–輸入“d”,

日期這裡就變成了1。

Excel小案例之超級動態考勤表(二)

2日這裡設定成前面的日期+1,然後往後拖動填充,直到31日。

Excel小案例之超級動態考勤表(二)

但是,這裡有一個問題,當我們把考勤月份改成2月份的時候,後面三列顯示的日期,其實已經是3月份的了。

Excel小案例之超級動態考勤表(二)

雖然這並不影響使用,但追求完美的李老師還是覺得這樣不美觀,每個月的天數最好按實際顯示,不滿31天的月份,後面多出來的列,最好顯示為空。

在29日這裡,我們用到一個MONTH函式,外面巢狀一個IF判斷函式。“

=IF(MONTH(AD4)=MONTH(AD4+1),AD4+1,””)

Excel小案例之超級動態考勤表(二)

前面設定日期的時候,我們就已經知道,日期這一行的每個表格是有完整的年月日,MONTH函式的作用就是提取這個表格裡的月份。用IF函式判斷這個表格裡的月份跟下個表格裡的月份是不是相等,如果成立,就在前面的表格的日期上再+1,如果不成立,就為空。

我們從圖4可以得知,當月份為2月的時候,28日後面的單元格是3月1日,所以這二個提取的月份是不相等的,後面的表格就變成了空。

我們用拖動的方法填充後面二個單元格的時候,出現了報錯。檢視公式的時候發現,MONTH函式是從本單元格跟前面一個單元格提取月份來判斷的,而前面一個單元格已經是空,沒辦法提取,所以會報錯。

解決的辦法就是改一下公式,還是從28日這個表格提取月份來判斷。“

=IF(MONTH(AD4)=MONTH(AD4+2),AD4+2,””)

Excel小案例之超級動態考勤表(二)

或者用IFERROR函式,如果報錯就為空。“

=IFERROR(IF(MONTH(AF4)=MONTH(AF4+1),AF4+1,””),””)

Excel小案例之超級動態考勤表(二)

日期的設定講解完畢。這一篇的內容裡的每個字每句話都是想了又想再敲出來,生怕自己淺薄的理解不能把各個函式的應用講解清楚明白。

更多Excel相關技巧,請關注:

效率寶典

關注我,我們一起學習,共同成長!

如果有什麼問題或意見,歡迎給我留言,工作中有什麼困難或Excel使用問題,也可以留言諮詢,我將一一為你解答。