Excel函數學習36:WEEKDAY函數
如果要知道指定的日期是星期幾,那麼可以使用WEEKDAY函數。
什麼情況下使用WEEKDAY函數?
WEEKDAY函數返回代表一周中的第幾天的數值,是一個1到7之間的整數,指出給定日期是星期幾。它能夠:
確定某天是星期幾
確定某天之後的第一個星期幾的日期
確定某個月第幾個星期幾的日期
確定某個月中星期幾齣現的次數
將代表星期幾的數值轉換成文字
WEEKDAY函數語法
WEEKDAY函數有2個參數,其語法如下:
WEEKDAY(serial_number,return_type)
serial_number: 代表日期的數字序列號,也可以用日期字元串表示。
return_type: 指定一周開始於星期日還是星期一,即數字與星期幾的對應關係。若指定為1,則返回值為1至7,分別表示星期日至星期六,這是默認值;若指定為2,則返回值為1至7,分別表示星期一至星期日;若指定為3,則返回值為0至6,分別表示星期一至星期日。
WEEKDAY函數陷阱
WEEKDAY函數的Excel 2007版幫助指出,其返回一個1到7之間的整數。然而,當指定return_type為3時,函數返回的結果是一個0到6之間的整數,其中0表示星期一,1表示星期二,依此類推。當然,Excel 2010版進一步擴展了該函數,當指定return_type為11時,1表示星期一;為12時,1表示星期二;為13時,1表示星期三;為14時,1表示星期四;為15時,1表示星期五;為16時,1表示星期六;為17時,1表示星期日。
WEEKDAY返回的是代表星期幾的數值,並不是具體的字元串。WEEKDAY函數的第一個參數應是真正的日期,不能是字元串。
示例1: 確定某天是星期幾
要想知道2018年1月1日是星期幾,使用公式:
=WEEKDAY("2018-1-1",2)
返回數值1,表明2018年1月1日是星期一。我們指定了WEEKDAY函數的第2個參數為2,這樣該函數返回的結果為:1表示星期一,2表示星期二,…,依此類推。
示例2: 確定某天之後的第一個星期幾的日期
如下圖所示,在單元格C2中輸入指定的日期,單元格C3中指定要求的星期幾(這裡,使用默認的1代表星期日,2代表星期一,依此類推),單元格C4中為指定日期之後星期幾的日期。本例中為2017年10月8日之後第一個星期一的日期,公式為:
=C2 C3-WEEKDAY(C2) (C3<WEEKDAY(C2))*7
示例3: 確定某個月第幾個星期幾的日期
如下圖所示,在單元格C2中輸入指定的日期,C4中指定星期幾(這裡,使用默認的1代表星期日,2代表星期一,依此類推),C5中指定這個星期幾在該月中出現的次數。本例中,要求2017年8月第2個星期二的日期,公式為:
=C3 C4-WEEKDAY(C3) (C5-(C4>=WEEKDAY(C3)))*7
示例4: 確定某個月中星期幾齣現的次數
如下圖所示,單元格C2中輸入年份,單元格C3中輸入月份,單元格C4中輸入代表星期幾的數值(這裡,使用默認的1代表星期日,2代表星期一,依此類推),單元格C5中返回星期幾在該月中出現的次數。本例中,要求2017年3月中有幾個星期三,輸入數組公式:
=SUM((WEEKDAY(DATE(C2,C3,ROW(INDIRECT("1:"& DAY(DATE(C2,C3 1,0))))))=C4)*1)
示例5: 將代表星期幾的數值轉換成文字
WEEKDAY函數返回的是代表指定日期是星期幾的數值,如果要將這個數值轉換成星期一、星期二、…等,可以使用公式:
=CHOOSE(WEEKDAY(TODAY()),"星期日","星期一","星期二","星期三","星期四","星期五","星期六")
返回今天是星期幾,例如,今天是2017年9月14日,則返回「星期四」。
也可以使用下面的公式得到同樣的結果:
=INDEX({"星期日","星期一","星期二","星期三","星期四","星期五","星期六"},0,WEEKDAY(TODAY()))
當然,使用TEXT函數也可以得到同樣的結果:
=TEXT(TODAY(),"dddd")
如果想要單元格中仍是日期,但是要顯示星期幾,可以直接將該單元格格式自定義為「dddd」。
本文屬原創文章,轉載請聯繫我(xhdsxfjy@163.com)或者註明出處。
歡迎在下面留言,完善本文內容,讓更多的人學到更完美的知識。
推薦閱讀:
※如何讓文章構架完美,邏輯清晰?
※化零多項式有什麼用?
※匯美冊 | 當藝術嫁給科學以後 - 南非藝術家Christina Bryer的陶瓷盤子
※紫微斗數學理講解(四)
※趣讀丨如何做一個好家長-論數學的用途