在 Excel 中有個實施日期和工作項目的資料表(參考下圖),要根據這些資料來統計各個工作項目在假日和非假日的數量,該如何處理?
儲存格E2:=SUMPRODUCT((WEEKDAY($A$2:$A$40,2)<6)*($B$2:$B$40=E1))
WEEKDAY($A$2:$A$40,2)<6,要找出實施日期中星期小於6者(星期一~星期五)的True/False陣列,
$B$2:$B$40=E1,找出工作項目符號各個項目的True/False陣列,
儲存格E2:SUMPRODUCT(實施日期True/False陣列*工作項目True/False陣列),其中的「*」會將True/False陣列轉換為1/0陣列,再執行乘積的和。
儲存格E3:=SUMPRODUCT((WEEKDAY($A$2:$A$40,2)>5)*($B$2:$B$40=E1))
WEEKDAY($A$2:$A$40,2)<6要找出實施日期中星期大於5者(星期六和星期日)的True/False陣列。
詳細函數說明,請參考微軟網站:
WEEKDAY:http://office.microsoft.com/zh-tw/excel-help/HP010343015.aspx
WEEKDAY:傳回符合日期的星期。給定的日預設為介於1(星期日)到7(星期六)之間的整數。 |
語法:WEEKDAY(serial_number,[return_type]) serial_number:要找的日期的代表序列值。 return_type:決定傳回值類型的數字。 |
RETURN_TYPE | 傳回的數字 |
1或省略 | 數字1(星期日)到7(星期六)。 |
2 | 數字1(星期一)到7(星期日)。 |
3 | 數字0(星期一)到6(星期六)。 |
11 | 數字1(星期一)到7(星期日)。 |
12 | 數字1(星期二)到7(星期一)。 |
13 | 數字1(星期三)到7(星期二)。 |
14 | 數字1(星期四)到7(星期三)。 |
15 | 數字1(星期五)到7(星期四)。 |
16 | 數字1(星期六)到7(星期五)。 |
17 | 數字1(星期日)到7(星期六)。 |