在Excel 365或Excel 2019版本上的新成員SWITCH函數(shù),其實是多條件判斷函數(shù),它與指定的公式或值進行比較,輸出相應的結果。
日常工作一周是五個工作日,一般按周一至周五計算,而需要連續(xù)生產的企業(yè)(像汽車制造、食品加工、采油、木材加工等),或者服務業(yè)(如零售業(yè)、物流運輸、住宿餐飲等)其員工的工作日并非周一至周五,如果標記此類的工作日或休息日,可通過日期函數(shù)Weekday和Switch函數(shù)完成。
語法:
SWITCH(要轉換的值, 要匹配的值1...[2-126], 如存在匹配項1...[2-126]需返回的值, 如不存在匹配需返回的值)
案例:某銷售服務行業(yè)員工A,每周二、周三休息,現(xiàn)標記其近期工作日,以安排日程。
首先看WEEKDAY 函數(shù):
WEEKDAY(serial_number,[return_type]),返回對應于某個日期的一周中的第幾天。默認情況下,天數(shù)是 1(星期日)到 7(星期六)范圍內的整數(shù)。
- Serial_number必需。一個序列號,代表嘗試查找的那一天的日期。應使用DATE函數(shù)輸入日期,或者將日期作為其他公式或函數(shù)的結果輸入。例如,使用函數(shù)DATE(2008,5,23)輸入2008年5月23日。如果日期以文本形式輸入,則會出現(xiàn)問題。
- Return_type可選。用于確定返回值類型的數(shù)字。
Return_type |
返回的數(shù)字 |
1 或省略 |
數(shù)字 1(星期日)到 7(星期六)。 同 Microsoft Excel 早期版本。 |
2 |
數(shù)字 1(星期一)到 7(星期日)。 |
3 |
數(shù)字 0(星期一)到 6(星期日)。 |
11 |
數(shù)字 1(星期一)到 7(星期日)。 |
12 |
數(shù)字 1(星期二)到數(shù)字 7(星期一)。 |
13 |
數(shù)字 1(星期三)到數(shù)字 7(星期二)。 |
14 |
數(shù)字 1(星期四)到數(shù)字 7(星期三)。 |
15 |
數(shù)字 1(星期五)到數(shù)字 7(星期四)。 |
16 |
數(shù)字 1(星期六)到數(shù)字 7(星期五)。 |
17 |
數(shù)字 1(星期日)到 7(星期六)。 |
很顯然,本例Weekday函數(shù)的參數(shù)選擇14。
其次,SWITCH 函數(shù):
=SWITCH(要轉換的值, 要匹配的值1...[2-126], 如存在匹配項1...[2-126]需返回的值, 如不存在匹配需返回的值)
本案例先計算出正常日期的周序號,公式如下:=WEEKDAY(A2,2)計算出工作日的序號。
如將周序號轉換為其工作日的周數(shù),最好創(chuàng)建一個區(qū)域來管理休息日與工作日對比,如下圖(G2:H8)。然后,在D2單元格添加如下公式:
=SWITCH(C2,$G$2,$H$2,$G$3,$H$3,$G$4,$H$4,$G$5,$H$5,$G$6,$H$6,$G$7,$H$7,$G$8,$H$8)
或
=SWITCH(WEEKDAY(A2,2),$G$2,$H$2,$G$3,$H$3,$G$4,$H$4,$G$5,$H$5,$G$6,$H$6,$G$7,$H$7,$G$8,$H$8)
其實,上述的分類功能可以使用IF函數(shù)嵌套或IFS函數(shù)完成,而SWITCH在一定程序上可以替代了這部分功能,并且在閱讀上更加清晰明了。