今天咱们说说如何从一组数据中提取出不重复的记录。
如果数据源是固定的内容,可以单击数据区域中的任意单元格,然后在【数据】选项卡下,单击【删除重复值】按钮,就可以得到不重复的记录:
结果是这样的:
如果你使用的是Excel 2021或者最新的WPS表格,还可以使用UNIQUE函数从数据源中提取出不重复的记录。
UNIQUE函数的用法是:
=UNIQUE(数据区域,返回唯一列/行,返回每个不同项目还是只出现一次的记录)
接下来咱们看看这个函数的具体用法:
1、提取一行中的不重复记录
如下图,要从左侧的值班表中,提取出各部门的值班人员名单。
H2输入以下公式,向下复制到H4单元格即可。
=UNIQUE(B2:F2,TRUE)
UNIQUE函数的第二参数使用TRUE,表示在同一行中提取不重复值。
2、提取一列中的不重复值
如下图所示,希望从B列的值班名单中提取出不重复记录。
D2单元格输入以下公式即可。
=UNIQUE(B2:B6)
UNIQUE函数第二参数使用FALSE或者省略参数,表示在同一列中提取不重复值。
3、提取一列中的唯一值
如下图所示,希望从B列的值班名单中提取出仅出现一次的记录。
=UNIQUE(B2:B6,,TRUE)
UNIQUE函数第二参数省略参数,第三参数使用TRUE,表示在同一列中提取仅出现一次的值。
4、计算参赛人数
如下图所示,AB列是参赛名单,有部分人员参加了多个项目,需要计算参赛人数。
D2单元格输入以下公式。
=COUNTA(UNIQUE(A2:A9))
先使用UNIQUE函数提取出不重复的人员名单,再使用COUNTA函数对人员名单计数。
5、按条件提取不重复记录
如下图所示,希望从左侧的值班名单中提取出“A区”的不重复记录。
F2单元格输入以下公式。
=UNIQUE(FILTER(C2:C14,A2:A14=”A区”))
首先使用FILTER函数,筛选出所有A区的值班经理名单,再使用UNIQUE函数提取出不重复的记录。
6、中式排名
如下图所示,希望根据C列的比赛成绩计算排名。
D2单元格输入以下公式,得到的是美式排名。
=RANK(C2,C$2:C$9)
美式排名的特点是相同成绩占用名次。如下图中,两个99.5并列第3,之后的95排到了第5名。
E2单元格输入以下公式,得到的是中式排名。
=SUM((UNIQUE(C$2:C$9)>C2)*1)+1
中式排名的特点是相同成绩不占用名次。上图中两个99.5并列第3,之后的95排名为第4。
先使用UNIQUE函数提取出C$2:C$9单元格区域中的不重复记录,再判断去重后的成绩是否大于C2。
SUM函数计算出大于C2的不重复个数,结果加上1就是当前成绩的中式排名。