在 Excel 的工作表中(如下圖),如果想要根據日期清單列出不重覆的日期,該如何處理?

手動方式可以參考以下二篇文章:

Excel-手動產生不重覆項目(樞紐分析表)

Excel-使用篩選工具列出不重覆的資料

如果你想要使用公式,則參考以下的做法。

Excel-列出不重覆的清單(OFFSET,SMALL,ROW)

 

【公式設計與解析】

本例使用一個輔助欄位C欄。

1. 計算同一個日期由第一個儲存格起算累計有幾個。

儲存格C2:=COUNTIF($A$2:A2,A2)

儲存格C2,貼至儲存格C2:C25。

2. )

儲存格F2:{=IFERROR(OFFSET($A$1,SMALL(IF($C$2:$C$25=1,
ROW($C$2:$C$25),""),ROW(1:1))-1,0),"")}

這是陣列公式,輸入完成要按 Ctrl+Shift+Enter 鍵,Excel 會自動加上「{}」。

(1) IF($C$2:$C$25=1,ROW($C$2:$C$25),"")

在陣列公式中由C欄中找出標示為『1』的列號。

(2) SMALL(第(1)式,ROW(1:1))

利用 SMALL 函數,根據第(1)式中傳回的列號由小到大,找出第 1,2,3,… 最小者。ROW(1:1)函數,向下複製公式後,會產生 ROW(1:1)=1→ROW(2:2)=2→ROW(3:3)=3→…。

(3) OFFSET($A$1,第(2)式-1,0)

將第(2)式的傳回值代入 OFFSET 函數,得到對儲存格內容(一個日期)。

(4) IFERROR(第(3)式,"")

由於公式向下複製後,可能因為查詢不到對應的儲存格而產生錯誤訊息,利用 IFERROR 函數將錯誤訊息轉換為空字串(顯示為空白)。

【延伸閱讀:FILTER函數篩選應用】

Excel-下拉式清單選取月份列出該月日期

圖片1 Excel-根據單條件和雙條件篩選資料(FILTER)

圖片1 Excel-列出指定星期幾的日期

圖片1 Excel-單一欄位篩選與跨欄位篩選

圖片1 Excel-計算分組最大值

圖片1 Excel-FILTER和OFFSET的動態陣列

圖片1 Excel-篩選資料並轉置資料

圖片1 Excel-2021版新增函數進行篩選、查詢、排序之綜合練習

圖片1 Excel-由資料清單中篩選一組

圖片1 Excel-利用FILTER函數模糊篩選

圖片1 Excel-從日期清單中區別平日和假日計算總和

圖片1 Excel-列出非空白項目的清單(比較篩選函數和以陣列公式模擬篩選)

圖片1 Excel-使用傳統陣列和動態陣列公式列出模糊搜尋清單

圖片1 Excel-FILTER函數與進階篩選

圖片1 Excel-2021版新增函數的使用

arrow
arrow
    文章標籤
    Excel OFFSET SMALL ROW
    全站熱搜

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