2017年1月31日 星期二

Excel-在多個日期的時間清單中找出每日最早和最晚時間(MIN,MAX,陣列公式)

網友問到的 Excel 問題:參考下圖,如何在人員打卡時間的清單中,找出各日期中最早打卡和最晚打卡的時間?
在下圖中,每個日期有甲、乙、丙、丁、戊等五個人打卡,根據這個打卡清單,如何找出每天打卡的最小值(最早時間)和最大值(最晚時間)?
Excel-在多個日期的時間清單中找出每日最早和最晚時間(MIN,MAX,陣列公式)

【公式設計與解析】
(1) 定義名稱
選取儲存格A1:C26,按 Ctrl+Shift+F3 鍵,勾選「頂端列」,定義名稱:日期、人員、打卡。

(2) 找出每日最早時間
{=MIN(IF((日期=E2),打卡,"X"))}
這是陣列公式,輸入完成要按 Ctrl+Shift+Enter 鍵,Excel 會自動輸入「{}」。
IF((日期=E2),打卡,"X"):在陣列公式中,若在日期陣列中的日期和儲存格E2相同,則傳回打卡對應的陣列內容;若不相同,則傳回「X」(這只一個任意的字元,只要不是數字即可)。
MIN(IF((日期=E2),打卡,"X")):在上式傳回的打卡陣列中,運用 MIN 函數取出陣列中的最小值。

(3) 找出每日最晚時間
{=MAX(IF((日期=E2),打卡,"X"))}
這是陣列公式,輸入完成要按 Ctrl+Shift+Enter 鍵,Excel 會自動輸入「{}」。
IF((日期=E2),打卡,"X"):在陣列公式中,若在日期陣列中的日期和儲存格E2相同,則傳回打卡對應的陣列內容;若不相同,則傳回「X」(這只一個任意的字元,只要不是數字即可)。
MAX(IF((日期=E2),打卡,"X")):在上式傳回的打卡陣列中,運用 MAX 函數取出陣列中的最大值。

沒有留言:

張貼留言

檢視其他文章

好康東東