網友問到的Excel問題,可以供其他網友參考。

Excel-利用SMALL,LARGE函數將MIN,MAX傳回值0改為空白

參考上圖,如果使用以下陣列公式來求得上班打卡時間和下班打卡時間。

儲存格B2:{=MIN(IF((日期=$A2)*(姓名=$A$1)*(刷卡時間>=TIME(6,0,0))*
(刷卡時間<TIME(10,30,0)),刷卡時間,""))}

儲存格C2:{=MAX(IF((日期=$A2)*(姓名=$A$1)*(刷卡時間>=TIME(12,0,0))*
(刷卡時間<TIME(23,59,59)),刷卡時間,""))}

其中未取得資料的儲存格會因儲存格原先的格式設定,而出現00:00的結果,要如何將其以空白顯示?

修改如下圖:

Excel-利用SMALL,LARGE函數將MIN,MAX傳回值0改為空白

【公式設設與解析】

儲存格B2:{=IFERROR(SMALL(IF((日期=$A2)*(姓名=$A$1)*(刷卡時間>=TIME
(6,0,0))*(刷卡時間<TIME(10,30,0)),刷卡時間,""),1),"")}

儲存格BC:{=IFERROR(LARGE(IF((日期=$A2)*(姓名=$A$1)*(刷卡時間>=TIME
(12,0,0))*(刷卡時間<=TIME(23,59,59)),刷卡時間,""),1),"")}

其中主要的調整是將 MIN、MAX 函數改以 SMALL、LARGE 函數取代。

因 MIN 函數和 MAX 函數當查不資料時所傳回的空字串("")會視為 0,而改用 SMALL、LARGE 函數時會因傳回空字串("")而找不到對應資料,會傳回錯誤訊息(#NUM!),再利用 IFERROR 函數將其改以空字串顯示。

arrow
arrow
    文章標籤
    Excel SMALL LARGE MIN MAX
    全站熱搜

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