EXCEL如何用公式提取一列中的唯一值和不重复值

说明:思路用的很新奇,也对COUNTIF有了更深一步的了解,但是,对于百行数据运算速度特别低,不适合数据多的使用

 

当面对一堆数据,我们要提取一列的唯一值的时候,如果单纯用人为一个个判断,显然是不科学的,那么如何用index函数提取唯一值呢

EXCEL如何用公式提取一列中的唯一值和不重复值
 

工具/原料

 
  • EXCEL2007以及以上版本

方法/步骤

 
  1.  

    新建一个空白的EXCEL工作表,而后打开

    EXCEL如何用公式提取一列中的唯一值和不重复值
  2.  

    在A列输入人名,人名有重复,要求将唯一值提取到B列

    EXCEL如何用公式提取一列中的唯一值和不重复值
  3.  

    首先我们在B2单元格输入公式=INDEX(A$1:A$99,MATCH(0,COUNTIF(B$1:B1,A$1:A$99),0))&"",而后按三键结束,就是同时按住ctrl+shift+enter,将公式转化为数组,而后我们可以看到,第一个人名,就出现在眼前

    EXCEL如何用公式提取一列中的唯一值和不重复值
  4.  

    下拉B2公式,我们就将唯一值全部提取了出来放到B列

    EXCEL如何用公式提取一列中的唯一值和不重复值
  5.  

    公式解释,首先我们将鼠标放到B2单元格,而后选中COUNTIF(B$1:B1,A$1:A$99),按住F9,我们可以看到,这部分的结果为{1;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0,出现这样的结果的原因是因为第一个单元格的计算为在B1单元格内,先计算A1等于B1的个数,而后是A2,而后是A,这样一直计算到A30,形成30个数字,因为姓名值出现一次,所以只有第一个单元格为1,其他全部为0,而后用match函数查出第一次0出现的位置,就是第二个单元格,从而将符合条件数值提取出来

    EXCEL如何用公式提取一列中的唯一值和不重复值
  6. 6

    我们将鼠标放到B3单元格,而后而后选中COUNTIF(B$1:B1,A$1:A$99),按住F9,我们可以看到,{1;1;0;0;0;0;0;0;0;0;0;1;0;0;0;0;0;0;0;0;0;1;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0,这样提取出来的第一个0值的位置为3,就是第三行的数据

    EXCEL如何用公式提取一列中的唯一值和不重复值
     

20231230:最近发现另外一种方法

如果你使用的是Excel 2019或者2021版本,可以使用UNIQUE函数从数据源中提取出不重复的记录,而且计算结果能随着数据源的变化自动更新。

UNIQUE函数的用法是:
=UNIQUE(数据区域,返回唯一列/行,返回每个不同项目还是只出现一次的记录)
接下来咱们以Excel 2021为例,来看看这个函数的具体用法:

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就是当前成绩的中式排名。

 

 

 

 

参考:

https://jingyan.baidu.com/article/046a7b3e959ef3f9c27fa99d.html

https://www.excelhome.net/4848.html

 

 

posted @ 2019-09-12 16:39  马踏飞燕Beautiful  阅读(11535)  评论(0编辑  收藏  举报