当excel有很多数据,而且有很多是重复数据的时候,如何快速提取不重复值就成为了需要解决的难题!
在弹窗的界面框里确认信息,点击确认。
首先,这是一个数组公式:
=IFERROR(INDEX(A2:A100,SMALL(IF(IFERROR(MATCH($A$2:$A$100,$A$2:$A$100,0),9999)=ROW(A2:A100)-1,ROW(A2:A100)-1),ROW(A2:A100)-1)),””)
由于不知道A列最多会有多少个唯一项(因为数据后面还可以再添加),所以E列放置数组公式的单元格要多选一些,我这里是以100行的数据做案例,即对A列100行的数据(还可以继续输入80多行数据)进行自动查询不重复值,E列最多显示100行。
当然,这个数字100可以在公式里直接修改扩大,我这里只是做个示例。
现在我们来分解一下这个公式:
第一部分
IF(IFERROR(MATCH($A$2:$A$100,$A$2:$A$100,0),9999)=ROW(A2:A100)-1,ROW(A2:A100)-1)
这里首先是用match函数获得A列唯一值的位置编号
这样,第一部分的结果就如图中C列所示,只有1、4、7、10这四个数字。
然后,第二部分用small函数取出来就好懂了,第三部分再用index取出对应的内容,第四部分再用iferror函数过滤掉错误值。
最后,我们测试一下:将A6单元格修改了个新的名称,在A13单元格增加了个新的名称,函数部份没有动,E列就自动跟着改变了~