一、问题描述
日常工作中,咱们经常会遇到一些数据提取方面的问题,今天就和大家一起分享一下从多行多列中提取不重复值的技巧。
先来看数据源:
二、函数解法
牛A同学是公式达人,给出的公式是这样的:
=INDIRECT(TEXT(MIN((COUNTIF(E$1:E1,$A$2:$C$5)+(A$2:C$5<=""))/1%%+ROW(A$2:C$5)/1%+COLUMN(A$2:C$5)),"r0c00"),)&""
看晕了吗?哈哈哈哈……
三、技巧解法
牛B同学用透视表一样可以解决。
先在数据前插入一个空白列,然后依次按Alt、 D、 P,调出透视表向导。
生成透视表之后,在字段列表中将默认的【行】、【列】拖动到字段列表之外,再将【值】拖动到行区域,OK了。
(动画比较大,如果无法自动播放,可点击一下图片)
这里有两个小问题: 1、为什么要先插入一个空白列呢?
这是因为使用多重合并计算数据区域的方法创建透视表时,会默认将数据源最左侧的一列作为透视表中的行标签,其他列的数据会成为透视表中的值字段。 为了保证所有姓名都在值字段,所以在数据源前面插入了一个空白列,来充当透视表的行标签了。 2、为什么要将值字段拖动到行标签区域呢?
这是因为数据透视表的行标签有自动去重复的功能,咱们利用这一特点,就可以完成不重复值的提取了。 四、结语 第一种方法,公式书写困难并且计算效率低,如果数据量比较多,Excel有可能直接就挂了。 第二种方法操作简单,在各个版本都可以实现,你也试试吧。