夜雨聆风学习资料网

ARTICLE · 1110421

Excel这个新函数,让重复数据彻底失业了

Excel这个新函数,让重复数据彻底失业了

小伙伴们,大家好。

今天说一个让我相见恨晚的函数——UNIQUE。

以前想从一堆名单里挑出不重复的名字,是不是得复制粘贴到新表,然后点"数据"→"删除重复项"?要么就写一长串INDEX+MATCH数组公式,回车还得按三键,稍微改个区域就报错。

现在不用了。Excel 2021和最新版WPS直接内置了这个函数,用法简单到离谱:

=UNIQUE(数据区域, 按行还是按列, 返回全部不重复还是只返回出现一次的)

光看参数可能没感觉,咱们直接上例子。

一、横着的一行,怎么挑出不重复的?

比如值班表里,同一行有好几个人名,想把不重复的人员拎出来。

把下面数据复制到Excel的B1:F2区域:

B
C
D
E
F
1
周一
周二
周三
周四
周五
2
张三
李四
张三
王五
李四

在H2输入公式:

=UNIQUE(B2:F2,TRUE)

第二参数写TRUE,就是告诉Excel:我在同一行里找不重复的。结果会自动溢出,得到:张三、李四、王五。往下一拉,搞定。

二、竖着的一列,怎么挑出不重复的?

这个最常见。B列一堆值班名单,想提取唯一的人员列表。

把下面数据复制到Excel的B1:B6区域:

B
1
值班人员
2
张三
3
李四
4
张三
5
王五
6
李四

在D2输入公式:

=UNIQUE(B2:B6)

第二参数省略或者写FALSE,就是按列去重。结果得到:张三、李四、王五。就这么简单,不需要任何多余操作。

三、只想找出"只出现一次"的人

注意,这跟上面的"不重复"不一样。比如有人值班了两次,那他就不是"只出现一次"。

继续用上面的数据,在D2输入公式:

=UNIQUE(B2:B6,,TRUE)

第二参数空着,第三参数写TRUE。意思是:别给我全部不重复的,我只要那些仅出现一次的记录。结果只得到:王五。因为张三和李四都出现了两次,被踢出去了。

四、多列姓名混在一起,怎么提取总名单?

有时候名字散落在B到F列,东一个西一个。想汇总成一份不重复的员工清单。

把下面数据复制到Excel的B1:F7区域:

B
C
D
E
F
1
周一
周二
周三
周四
周五
2
张三
李四
王五
张三
3
李四
王五
张三
李四
4
王五
李四
张三
王五
5
张三
李四
王五
张三
6
张三
李四
王五
李四
7
李四
王五
张三

在H2输入公式:

=UNIQUE(TOCOL(B2:F7,1))

先用TOCOL把多列区域拉成一列,第二参数写1代表忽略空白单元格。然后再用UNIQUE去重。结果得到一份完整的不重复人员名单:张三、李四、王五。注意:TOCOL目前只有Excel 365支持,WPS用户先跳过这条。

五、统计参赛人数,别再一个个手点了

AB列是报名表,同一个人可能报了好几个项目。要算实际有多少人参赛。

把下面数据复制到Excel的A1:B9区域:

A
B
1
姓名
项目
2
张三
跑步
3
李四
跳远
4
张三
跳远
5
王五
跑步
6
李四
跑步
7
赵六
跳远
8
张三
跑步
9
王五
跳远

在D2输入公式:

=COUNTA(UNIQUE(A2:A9))

UNIQUE先提取出不重复的人员名单:张三、李四、王五、赵六。COUNTA再数一下个数,结果是4。两步并一步,结果直接出来。

六、按条件去重,只提取"A区"的人

左边是值班表,但只想看A区的值班经理,而且不重复。

把下面数据复制到Excel的A1:C14区域:

A
B
C
1
区域
日期
值班经理
2
A区
1月1日
张三
3
B区
1月1日
李四
4
A区
1月2日
王五
5
A区
1月3日
张三
6
B区
1月2日
赵六
7
A区
1月4日
李四
8
B区
1月3日
王五
9
A区
1月5日
张三
10
B区
1月4日
赵六
11
A区
1月6日
王五
12
B区
1月5日
李四
13
A区
1月7日
赵六
14
B区
1月6日
张三

在F2输入公式:

=UNIQUE(FILTER(C2:C14,A2:A14="A区"))

FILTER先筛出A区的所有记录:张三、王五、张三、李四、张三、王五、赵六。UNIQUE再把重复的经理名字去掉,结果得到:张三、王五、李四、赵六。两个函数配合,条件去重一秒钟完成。

七、中式排名,成绩相同不占名次

这个稍微进阶一点,但非常实用。中式排名就是:两人并列第3,下一名直接第4,不跳号。

把下面数据复制到Excel的C1:C9区域:

C
1
成绩
2
99.5
3
99.5
4
98
5
97
6
95
7
95
8
92
9
90

在E2输入公式,然后向下复制到E9:

=SUM((UNIQUE(C$2:C$9)>C2)*1)+1

先提取所有不重复的成绩:99.5、98、97、95、92、90。然后数一数比当前成绩大的有几个,加1就是名次。比如99.5分,去重后比它高的有0个,加1就是第1名。两个99.5并列第1。98分比它高的有1个,加1就是第2名。95分比它高的有3个,加1就是第4名。两个95并列第4,下一个92分就是第5名。

最后说两句

UNIQUE这个函数,属于那种"一旦用过就回不去"的类型。以前删重复、提唯一值、条件去重,每一步都得折腾半天。现在一行公式,自动溢出结果,源数据变了它也跟着变。

如果你用的是Excel 2021或者最新版WPS,现在就打开表格试一下。如果还在用老版本,建议尽早升级,不然真的会错过很多效率神器。

今天就聊到这儿,觉得有用的话,点个在看,转发给那个还在手动删重复的同事。

咱们下期见。

相关学习资料