前一篇文章:Excel-如何不使用陣列公式列出符合條件的清單,要幫助不會使用陣列公式的人也能做到複雜的公式相同結果。本篇也是來看看網友常問的問題中「列出不重覆的清單」,如何不使用陣列公式達到相同結果。

在下圖中,如果要使用陣列公式來根據G欄的原始資料,列出不重覆的資料清單。

Excel-不使用陣列公式列出不重覆的資料清單(COUNTIF,SMALL,INDEX,ROW)

如果以陣列公式來處理,儲存格H3:

{=INDEX($G$3:$G$30,SMALL(IF($G$4:$G$31=$G$3:$G$30,"",
ROW(G$3:$G$30)),ROW(1:1))-2)}

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

複製儲存格H3,貼至儲存格H3:H12。

如果改以非陣列公式來處理:

(1) 計算資料由第一個儲存格起算的重覆數

儲存格B3:=COUNTIF($A$3:A3,A3)

複製儲存格B3,貼至儲存格B3:B30。

(2) 標示重覆數1者的列號

儲存格C3:=IF(B3=1,ROW(C3),"")

複製儲存格C3,貼至儲存格C3:C30。

(3) 將列號搜集在一起

儲存格D3:=SMALL($C$3:$C$30,ROW(1:1))

複製儲存格D3,貼至儲存格D3:D12。

利用 SMALL 函數由小至大由儲存格C3:C30列出。

(4) 依據集合好的列號顯示資料內容

儲存格E3:=INDEX($A$3:$A$30,D3-2)

複製儲存格E3,貼至儲存格EB3:E12。

藉由 INDEX 函數,根據D欄傳回的列號,以查表方式對應查出資料內容。

相同的做法如果使用在資料內容沒有先順序好的清單,也是適用。

但是陣列公式就難解了,所以留下了一個問號。

Excel-不使用陣列公式列出不重覆的資料清單(COUNTIF,SMALL,INDEX,ROW)

學不完.教不停.用不盡文章列表

arrow
arrow

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