在 Excel 的工作表中,如果你想要找出一年中有幾個13號星期五,該如何處理?以本例來練習『陣列公式』。
【公式設計與解析】
儲存格B2:{=SUM(1*(WEEKDAY(DATE(A2,ROW($1:$12),13),2)=5))}
公式輸入完成,要按 Ctrl+Shift+Enter 鍵,Excel 會自動產生「{}」。
ROW($1:$12):在陣列公式中產生:1, 2, 3, ..., 11, 12。
DATE(A2,ROW($1:$12),13):在陣列公式中產生各年度的 1/13 ~ 12/13。
WEEKDAY(DATE(A2,ROW($1:$12),13),2)=5:判斷各年度的 1/13 ~ 12/13 是否為為星期五,傳回 TRUE/FALSE 陣列。
1*(WEEKDAY(DATE(A2,ROW($1:$12),13),2)=5):將上式傳回的 TRUE/FALSE 陣列,轉換為 1/0 陣列。
最後透過 SUM 函數將上式加總,即為所求。
【補充說明】
利用『評估值公式』,可以觀察到陣列公式:
(1) 產生各年度每月的13日
(2)找出各年度每月的13日是否為星期五
(3) 將0和1加總即為所求
【參考資料】
FILTER 函數參考微軟提供的說明網頁:
WEEKDAY 函數參考微軟提供的說明網頁:
DATE 函數參考微軟提供的說明網頁:
【延伸閱讀】
全站熱搜
留言列表