总结篇--提取不重复值的技巧集合

点击上方

蓝色

文字  关注我们吧!

送人玫瑰,手有余香,请将文章分享给更多朋友

动手操作是熟练掌握EXCEL的最快捷途径!

日常工作中,我们经常会遇到数据提取方面的问题,今天我就帮大家汇总一下有关提取不重复值的技巧!

01

单列提取经典组合

在以前的帖子中我也多次介绍过,提取不重复值的技巧中有一个经典的函数组合:INDEX函数+SMALL函数+IF函数+MATCH函数组合。

这么长的组合,其威力一定是巨大无比的。如下图。

在单元格C2中输入“=IFERROR(INDEX($A$2:$A$17,SMALL(IF(MATCH($A$2:$A$17,$A$2:$A$17,0)=ROW($A$2:$A$17)-1,ROW($A$2:$A$17)-1),ROW()-1),0),"")”并CTRL+SHIFT+ENTER三键回车,向下拖曳即可。

具体函数公式的介绍,请参看帖子你会使用【INDEX函数】吗?

同样地,OFFSET函数+SMALL函数+IF函数+MATCH函数组合也是可以提取不重复清单的。这里就不再详细解释了,具体的过程可以参看帖子最全的OFFSET函数应用集合,收藏这一篇就够了

02

COUNTIF函数

有时候是不是会觉得上面那个经典组合函数太多了,记不住?没关系,下面这个技巧来看看!

在单元格G2中输入“=INDEX(C:C,1+MATCH(,COUNTIF($G$1:G1,$C$2:$C$18),))&""”,CTRL+SHIFT+ENTER三键回车,并向下拖曳即可。

思路:

  • 在$G$1:G1这样一个动态区域内统计单元格区域$C$2:$C$18(为什么是C18?稍后解释)中的数据出现的个数。当没有出现时,返回值为0

  • 利用MATCH函数来搜索“0”在这个内存数组中第一次出现的位置

  • 1+MATCH(,COUNTIF($G$1:G1,$C$2:$C$18)部分是由于MATCH函数返回的位置是在$C$2:$C$18这个区域中。相对于C列的位置,需要加上“1”

  • 利用INDEX函数返回不重复的清单

  • 利用$G$1:G1这样一个动态区域,当向下拖曳时,区域不断地扩大,凡是在这个区域中出现的清单,COUNTIF函数的返回值就不会是“0”,MATCH函数就不会提取到其位置,因此也不会被重复提取

  • 单元格区域$C$2:$C$18是为了屏蔽错误值。实际上公式中写成$C$2:$C$17也是可以的,只不过就需要利用IFERROR函数来屏蔽错误值了

03

多列提取不重复清单

下面我们增加一些难度。如何在多列中提取不重复的清单呢?

在单元格E2中输入“=INDIRECT(TEXT(MIN((COUNTIF($E$1:E1,$A$2:$C$9)+($A$2:$C$9<=""))/1%%+ROW($A$2:$C$9)/1%+COLUMN($A$2:$C$9)),"r0c00"),)&""”,CTRL+SHIFT+ENTER三键回车后向下拖曳即可。

是不是有些晕了?哈哈,我也有点晕,不过没关系,记住会套用即可!

其实对于大多是朋友来讲,提取多列不重复清单根本不需要写上面如此复杂的公式。利用EXCEL提供的数据透视表就可以轻松完成!

04

数据透视表提取出多列不重复清单

首先,我们在数据区域最左侧插入一列。因为最左侧列中不能包含要提取的姓名。

然后按下ALT+D,再按P键,调出透视表向导。点选“多重合并计算数据区域”

默认“创建单页字段”,选择数据区域。如下图。

完成后在数据透视表的字段列表中,依次将“行”,“列”和“页1”拖曳到字段列表外;将“值”拖到行标签。

完成后,数据透视表是这个样子的。

删除行标签和总计后,就是不重复清单啦!

文章推荐理由:
提取不重复清单是数据处理的日常工作之一,熟练地应用能够为你大大提高效率!

-END-

推荐阅读:

IF函数七兄弟,个个本领大!

一对多查询经典函数组合拓展应用--多对多查询

来,平均一下!

总结篇--反向查找函数使用终极帖

遇到不规范的数据录入,你该怎么办?

戳原文,更有料!免费模板文档!

(0)

相关推荐