在 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陣列。

詳細函數說明,請參考微軟網站:

WEEKDAYhttp://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(星期六)

 

arrow
arrow
    全站熱搜

    vincent 發表在 痞客邦 留言(1) 人氣()