Excel用函數公式提取唯一值
數據源為A列,要在C列中提取不重複的唯一值。
在此我們需要應用的函數有COUNTIF、MATCH、INDEX、IFERROR。
思路是利用COUNTIF+MATCH定位不重複的行數,再使用INDEX根據COUNTIF+MATCH返回的行數,提取A列中不重複行單元格內的內容,而IFERROR用於排錯,當提取完唯一值後,當出現#N/A錯誤時顯示為空。
在C2單元格中輸入數組公式:
={IFERROR(INDEX($A$2:$A$12,MATCH(0,COUNTIF($C$1:C1,$A$2:$A$12),0)),"")}
註:{……}這個括弧是同時安Ctrl+Shift+Enter得到的數組公式形式,無需輸入。
公式分析:
C2單元格內:
COUNTIF($C$1:C1,$A$2:$A$12)此部分公式,我們可以看到此時$C$1:C1不存在數據源A2:A12中的任何值,所以數組計算顯示為{0,0,0,0……}。
MATCH(0,COUNTIF($C$1:C1,$A$2:$A$12),0)此處MATCH用以定位0在COUNTIF數組{0,0,0,0……}中的位置,返回1。
INDEX($A$2:$A$12,MATCH(0,COUNTIF($C$1:C1,$A$2:$A$12),0))查詢A2:A12中,MATCH返回行號所在單元格的內容「AS-1001」。
IFERROR(INDEX($A$2:$A$12,MATCH(0,COUNTIF($C$1:C1,$A$2:$A$12),0)),"")最後黑色的公式IFERROR用於排錯,當提取完唯一值後,當出現#N/A錯誤時顯示為空。
拖拉C2單元格數組公式至C12完成提取唯一值的操作
C3單元格內:
={IFERROR(INDEX($A$2:$A$12,MATCH(0,COUNTIF($C$1:C2,$A$2:$A$12),0)),"")}
在向下拖拉數組公式時,唯C2單元格會改變。用以確認下一個唯一值所在位置。
視頻分析
http://bbs.51cto.com/thread-968836-1.html
推薦閱讀:
※看看excel高手是怎樣玩row函數!
※sumif 函數
※VLOOKUP函數--查找多個相同的數據
※ExcelVLOOKUP函數從入門到精通,從精通到放棄
※Excel函數:Find的數組用法幾例