ARTICLE · 1110421
Excel这个新函数,让重复数据彻底失业了
小伙伴们,大家好。
今天说一个让我相见恨晚的函数——UNIQUE。
以前想从一堆名单里挑出不重复的名字,是不是得复制粘贴到新表,然后点"数据"→"删除重复项"?要么就写一长串INDEX+MATCH数组公式,回车还得按三键,稍微改个区域就报错。
现在不用了。Excel 2021和最新版WPS直接内置了这个函数,用法简单到离谱:
=UNIQUE(数据区域, 按行还是按列, 返回全部不重复还是只返回出现一次的)
光看参数可能没感觉,咱们直接上例子。
一、横着的一行,怎么挑出不重复的?
比如值班表里,同一行有好几个人名,想把不重复的人员拎出来。
把下面数据复制到Excel的B1:F2区域:
在H2输入公式:
=UNIQUE(B2:F2,TRUE)第二参数写TRUE,就是告诉Excel:我在同一行里找不重复的。结果会自动溢出,得到:张三、李四、王五。往下一拉,搞定。
二、竖着的一列,怎么挑出不重复的?
这个最常见。B列一堆值班名单,想提取唯一的人员列表。
把下面数据复制到Excel的B1:B6区域:
在D2输入公式:
=UNIQUE(B2:B6)第二参数省略或者写FALSE,就是按列去重。结果得到:张三、李四、王五。就这么简单,不需要任何多余操作。
三、只想找出"只出现一次"的人
注意,这跟上面的"不重复"不一样。比如有人值班了两次,那他就不是"只出现一次"。
继续用上面的数据,在D2输入公式:
=UNIQUE(B2:B6,,TRUE)第二参数空着,第三参数写TRUE。意思是:别给我全部不重复的,我只要那些仅出现一次的记录。结果只得到:王五。因为张三和李四都出现了两次,被踢出去了。
四、多列姓名混在一起,怎么提取总名单?
有时候名字散落在B到F列,东一个西一个。想汇总成一份不重复的员工清单。
把下面数据复制到Excel的B1:F7区域:
在H2输入公式:
=UNIQUE(TOCOL(B2:F7,1))先用TOCOL把多列区域拉成一列,第二参数写1代表忽略空白单元格。然后再用UNIQUE去重。结果得到一份完整的不重复人员名单:张三、李四、王五。注意:TOCOL目前只有Excel 365支持,WPS用户先跳过这条。
五、统计参赛人数,别再一个个手点了
AB列是报名表,同一个人可能报了好几个项目。要算实际有多少人参赛。
把下面数据复制到Excel的A1:B9区域:
在D2输入公式:
=COUNTA(UNIQUE(A2:A9))UNIQUE先提取出不重复的人员名单:张三、李四、王五、赵六。COUNTA再数一下个数,结果是4。两步并一步,结果直接出来。
六、按条件去重,只提取"A区"的人
左边是值班表,但只想看A区的值班经理,而且不重复。
把下面数据复制到Excel的A1:C14区域:
在F2输入公式:
=UNIQUE(FILTER(C2:C14,A2:A14="A区"))FILTER先筛出A区的所有记录:张三、王五、张三、李四、张三、王五、赵六。UNIQUE再把重复的经理名字去掉,结果得到:张三、王五、李四、赵六。两个函数配合,条件去重一秒钟完成。
七、中式排名,成绩相同不占名次
这个稍微进阶一点,但非常实用。中式排名就是:两人并列第3,下一名直接第4,不跳号。
把下面数据复制到Excel的C1:C9区域:
在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,现在就打开表格试一下。如果还在用老版本,建议尽早升级,不然真的会错过很多效率神器。
今天就聊到这儿,觉得有用的话,点个在看,转发给那个还在手动删重复的同事。
咱们下期见。