EXCEL函数实现从列数据中提取不重复值

 ABC
1A A
2B B
3C C
4A D
5D E
6A F
7B G
8E H
9F I
10F  
11G  
12H  
13A  
14H  
15I  
16B  


如上图数据,在C2单元格输入公式:=INDEX(A:A,SMALL(IF(MATCH(A$2:A$16,A$2:A$16,0)=ROW($1:$15),ROW($2:$16),4^8),ROW(A1)))&""

按键盘上的Ctrl+Alt+Enter键,形成数组公式,然后公式下拉至16行。

其中公式里出现的16、15等数字,各位可以按照A列的实际行数变更,注意:=ROW($1:$15),这一段里的15是行数减1的。


公式的具体说明:

1、使用MATCH函数返回数组中每个元素第一次出现的位置;
2、用ROW函数返回数组中每个元素在数组中所处的位置,与第1步返回的数组逐一比对,如果相同说明该元素是首次出现,标识相应的行号;如果不同说明是重复出现,标识一个很大的行号,这里用4^8,4的8次方结果是65536,正好是2003版的最大行号,此处属于习惯用法;
3、使用IF函数生成一个由不重复元素所在的行号与65536组成的数组;
4、使用SMALL函数在第3步返回的数组中依次提取第1个值、第2个值、......第N个值;
5、最后使用INDEX函数提取相应位置上的数据,即列数据中的不重复值。



转自:http://www.officezhushou.com/excelhansu/3434.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值