天天看點

Excel用函數公式提取唯一值

資料源為A列,要在C列中提取不重複的唯一值。

<a href="http://kirin.blog.51cto.com/attachment/201210/25/50281_1351153495iNMN.jpg"></a>

在此我們需要應用的函數有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錯誤時顯示為空。

<a href="http://kirin.blog.51cto.com/attachment/201210/25/50281_1351153496b9H1.gif"></a>

拖拉C2單元格數組公式至C12完成提取唯一值的操作

C3單元格内:

={IFERROR(INDEX($A$2:$A$12,MATCH(0,COUNTIF($C$1:C2,$A$2:$A$12),0)),"")}

在向下拖拉數組公式時,唯C2單元格會改變。用以确認下一個唯一值所在位置。

<a href="http://kirin.blog.51cto.com/attachment/201210/25/50281_1351153496rfsX.gif"></a>

視訊分析

<a href="http://bbs.51cto.com/thread-968836-1.html">http://bbs.51cto.com/thread-968836-1.html</a>

繼續閱讀