Excel提取唯一值公式大全!

对!我们的需求就是这么简单,重复的提取一个!
我们看看有多少种写法。
公式1
▼数组公式,记得三键录入
=IFERROR(INDEX(A:A,SMALL(IF(MATCH($A$2:$A$15,$A$2:$A$15,)=ROW($A$2:$A$15)-1,ROW($A$2:$A$15)),ROW(A1)))&"","")

原理说明:

MATCH可以返回首次出现的位置,后续重复的部分也是返回首次对应的位置,这里和ROW来比较,相同的就是我们要提取的内容
然后配合SMALL+INDEX依次提取即可!
公式2
▼数组公式,记得三键录入
=IFERROR(INDEX(A:A,MATCH(,COUNTIF($C$1:C1,$A$2:$A$15),)+1)&"","")

原理说明:

本公式的核心在于 COUNTIF($C$1:C1,$A$2:$A$15)! 这里有点利用自身列,首次 $C$1:C1,这个区域中是没有任何销售人员的,所以返回的结果是14个0,对应A2:A15 这个条件区域!
MATCH(,COUNTIF($C$1:C1,$A$2:$A$15),)+1
这里这里是简写了,省略了查找的0和精确匹配的0,所以第一场返回的是1,而我们的内容是第二行开始的,+1,单有取出后,C3单元格的公式就会变成
COUNTIF($C$1:C2,$A$2:$A$15),区域中王五对应的位置全部是1,我们找到首个0(A3),后续同理!
公式3
▼奇奇怪怪的公式又增加了
=IFERROR(VLOOKUP(,IF({1,0},0/(COUNTIF(C$1:C1,$A$2:$A$15)=0),$A$2:$A$15),2,),"")

原理说明:

这种写法主要是重构了VLOOKUP的第二参数,和上一个利用自身列的算法基本一致,只是VLOOKUP这种第二参数数组重构大家见得不多而已!
公式4
=IFNA(LOOKUP(,0/ISNA(MATCH($A$2:$A$15,$C$1:C1,)),$A$2:$A$15),"")
这里也是利用自身列的写法,不同的是反过来匹配,把匹配不到的先提取出来而已!
365专属
=UNIQUE(A2:A15)

公式说明:

O365版本专属函数,保护头发效果明显,不用烧脑了!
还有很多写法,无非是要INDEX换成了OFFSET等取数函数,核心思路基本一样,无法就是找出每个内容首次出现的位置,然后提取!
我们简单的罗列几个,不在一一说明,有兴趣的可以研究一下,拓展思路!
公式6
=IFERROR(LOOKUP(,1/(COUNTIF($C$1:C1,$A$2:$A$15)-1),$A$2:$A$29),"")
公式7
=IFERROR(OFFSET($A$2,MATCH(,COUNTIF($C$1:C1,$A$2:$A$15),0)-1,,,),"")
使用OFFSET替代INDEX来取数!
OK,我们今天就先到这里!不要再说你不会使用公式提取唯一值了!
(0)

相关推荐