2013年10月12日 星期六

[Excel教學]如何使用WEEKDAY函數和CHOOSE函數來轉換輸入日期為星期幾?

如果你被問到這個問題「2014年元旦是星期幾?」時,你怎麼辦?通常最直接的做法就是查牆壁上的日曆或是電腦上的日期,很快就可以查到,不過要查的日期變多時,可就不是一件簡單的工作了,今天我們就介紹二個函數WEEKDAY和CHOOSE來輕輕鬆鬆解決這個問題。

WEEKDAY 函數(資料來源:‎台灣微軟)

描述傳回符合日期的星期。給定的日預設為介於 1 (星期日) 到 7 (星期六) 之間的整數。

語法WEEKDAY(serial_number,[return_type])
WEEKDAY 函數語法具有下列引數:
* Serial_number 必要。這是您要找的日期的代表序列值。必須使用 DATE 函數輸入日期,或是使用結果為日期的其他公式或函數。例如,使用 DATE(2008,5,23) 表示 2008 年 5 月 23 日。若使用文字格式輸入日期,可能會發生問題。
* Return_type 選用。這是決定傳回值類型的數字。
1 或省略 數字 1 (星期日) 到 7 (星期六)。與 Microsoft Excel 舊版的性質相同。

CHOOSE 函數(資料來源:‎台灣微軟)

描述使用 index_num 從引數值清單中傳回值。使用 CHOOSE 可以根據引數值,從至多 254 個數值中選取一個。例如,如果 value1 到 value7 分別代表星期一到星期日,則 CHOOSE 便會根據範圍在 1 到 7 之間的 index_num,傳回其中的一天。

語法CHOOSE(index_num, value1, [value2], ...)
CHOOSE 函數語法具有下列引數:
*Index_num 必要。會指定所選取的數值引數。Index_num 必須是介於 1 到 254 之間的數字,或是包含 1 到 254 之間數字的公式或儲存格參照。
如果 index_num 為 1,CHOOSE 會傳回 value1;如果為 2,則 CHOOSE 會傳回 value2;依此類推。
如果 index_num 小於 1 或大於清單中最後值的個數,則 CHOOSE 會傳回錯誤值 #VALUE!。
如果 index_num 是分數,則在使用它前,會將它捨去到最接近的整數。
* Value1, value2, ... Value 1 是必要的,後續值是選用的。CHOOSE 會根據 index_num 從中選取值或執行動作的 1 到 254 的數值引數。引數可以是數字、儲存格參照、已定義的名稱、公式、函數或文字。

方法

步驟 1 首先我們先建立以下的資料。

步驟 2 在B2儲存格輸入以下公式 =WEEKDAY(B1,1)。其中B1是輸入日期,1則是我們設定一星期的開始為星期日。當然你也可以設定一星期的開始為星期一,所以公式必需改為=WEEKDAY(B1,2)。

步驟 3 經過步驟2之後,我們發現B2儲存格的值為4,也就是說從"星期日","星期一","星期二","星期三","星期四","星期五","星期六"這個排列順序來看的話,第4個順位為"星期三",接下來,我們將使用CHOOSE函數來自動幫我們帶出"星期三"這個字串。

步驟 4 我們在B3儲存格輸入以下公式 =CHOOSE(B2,"星期日","星期一","星期二","星期三","星期四","星期五","星期六"),輸入完後,會發現公式自動幫我們帶出第4個順位的值 "星期三"這個字串。因此,我們以後只要在B1儲存格輸入日期之後,B3儲存格就會顯示那天是星期幾了。

步驟 5 當然,如果你熟悉這二個函數的話,你也可以直接跳過步驟2、3、4,直接在B4儲存格上面輸入以下公式 =CHOOSE(WEEKDAY(B1,1),"星期日","星期一","星期二","星期三","星期四","星期五","星期六"),也可顯示相同的結果。