太長不看版:
- Excel可以用
數據>刪除重複項
把一組數據裡面的重複單元格刪掉, 但是這種操作要依靠手動, 不能自動更新, 所以如果你的數據來源發生更新的時候要自己重新做一遍, 容易出錯
- 要想能夠自動完成
數據>刪除重複項
的功能, 用下面這個公式就可以了. 假設需要刪除重複項的這組單元格是A2:A11, 刪除重複項以後的唯一值列表放在C列, 在C2放置這個公式, CTRL+SHIFT+ENTER完成輸入, 之後把單元格向下填充
=IFERROR(INDEX($A$2:$A$11,MATCH(0,COUNTIF($C$1:C1,$A$2:$A$11),0)),"")
搞定.
我們都知道可以用數據>刪除重複項
獲得一個唯一元素列表。很多時候這個操作已經夠我們用了,但是其實呢,就像篩選可以用公式實現一樣,刪除重複項這個操作也一樣可以用公式搞定。
方法就是把index
, match
還有countif
連起來用,當然iferror
也要用上。
內容來源:How to Get Unique Items from a List in Excel Using Formulas
比如A2:A11是這麼一組數據:1,1,1,2,2,3,4,5,5,6
然後做一個刪除重複項就成了C2:C7的這一些東西:1,2,3,4,5,6
公式長成這樣:=IFERROR(INDEX($A$2:$A$11,MATCH(0,COUNTIF($C$1:C1,$A$2:$A$11),0)),"")
上面的公式可以拆成下面幾塊:
countif($C$1:C1,$A$2:$A$11)
,這個記作countif(...)
match(0, countif(...),0)
,這個記作 match(...)
index($A$2:$A$11, match(...))
, 這個記作 index(...)
- match找不到的時候會報錯,所以最外面再套一個
iferror(index(...),"")
上面這個公式是一個數組公式,完成輸入以後要按ctrl+shift+enter,而不是enter。
1. countif
這個地方最繞的應該還是countif
. 我盡量說明一下.
首先如果是=countif($A$2:$A$11,$A$2:$A$11)
如果在excel裡面用數組形式輸入這個公式, 返回的結果是 3. 這個3指的是$A$2:$A$11
1這個值出現了3次. 如果我們把A2:A11的數據重新排列一下順序: 2, 1, 3, 4, 1, 2, 5, 1, 5, 6
, 這個公式就會返回2, 因為2這個值出現了2次. 如果我們在公式外面再套一個其他的公式, 然後用公式> 公式求值去看一下計算過程的話就會看到: