数据源为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/thread-968836-1.html


本文转自kirin 51CTO博客,原文链接:http://blog.51cto/kirin/1036569 ,如需转载请自行联系原作者

更多推荐

Excel用函数公式提取唯一值