怎样找出excel表中一列数据中不重复的数据

怎样找出excel表中一列数据中不重复的数据,第1张

有很多种办法,介绍三种主要方法:

1)WPS和高版本的excel中有自带剔除重复项的功能,可以利用这个功能删除重复的项目,剩下的数据就是不重复的项目

2)通过函数的办法,例如countif函数,如果希望在同列并且将不重复的数据颜色标示,则可以选取A列数据,点击格式-条件格式,在格式对话窗口,输入条件公式:=COUNTIF(A:A,A1)=1,并设定标示的颜色,所有不重复的值即以颜色标示

3)通过筛选的办法,点击数据——筛选——高级筛选,打开高级筛选对话框,在高级筛选的对话框中,我们勾选“将筛选结果复制到其他位置”,同时勾选选择不重复的记录,这样那些重复的记录只是显示一个记录,点击确定即可完成

需求说明

1、我需要查询某列不重复的数据

2、并且显示不重复数据的所有项

sql语句如下

select * from data group by address

如果是仅仅查询某列不重复数据,只需要一列

效果如下

sql语句

select DISTINCT address from data

这里有一个非常非常需要注意的地方:

        SELECT DISTINCT [字段名]后面不能再跟其他的字段,否则检索出来的记录仍然会含有重复项;

        错误写法:

            SELECT DISTINCT [字段名] ,[其他字段名] FROM [表名] WHERE [检索条件字句]

如果我们的记录集里还需要有其他字段值 ,那怎么办呢?

实际上,我们完全可以用另一种办法来解决问题只是需要用到子查询而已!

使用GROUP BY 分组

有一点需要注意:

使用带有GROUP BY字句的查询语句时,在SELECT列表指定的列要么是GROUP BY 指定的列,要么包含聚合组函数

所以用这样一句SQL就可以去掉重复项了:

select * from msg group by terminal_id

这样就得到我们想要的结果集了:

可以用公式解决。以下图中的姓名为例:

D2输入公式

=SUMPRODUCT(1/COUNTIF(A2:A8,A2:A8))

结果为3,既不重复数为3个,如下图

公式解析:

COUNTIF(A2:A8,A2:A8)是个数组计算的例子,结果为一个数组,就是A2:A8每个姓名出现的次数:

COUNTIF(A2:A8,A2)

COUNTIF(A2:A8,A3)

……

COUNTIF(A2:A8,A8)

在B2输入公式

=COUNTIF(A$2:A$8,A2)

公式下拉复制,结果就是COUNTIF(A2:A8,A2:A8)的计算结果,依次计算每个姓名的出现次数。

如下图:

再用1/出现次数,如张三出现2次,则每次计算1/2次,求和得1,李四出现3次,每次计算1/3次,求和得1,依此类推,得到不重复姓名的个数。

相当于在C2输入

=1/B2

公式下拉再求和的结果,如下图:

以上是对公式=SUMPRODUCT(1/COUNTIF(A2:A8,A2:A8))的拆分解析,最后的求和之所以用SUMPRODUCT,而不是使用SUM,是因为这是数组计算,数组公式必须按Ctrl+Shift+Enter三键确认输入,而使用SUMPRODUCT函数则只需按Enter就可以了,当然也可以把公式改为:

=SUM(1/COUNTIF(A2:A8,A2:A8))

再按Ctrl+Shift+Enter三键确认输入,Excel会自动在公式外面嵌套一对大括号,表示数组公式:

{=SUM(1/COUNTIF(A2:A8,A2:A8))}

如下图所示:


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/sjk/9608920.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-30
下一篇2023-04-30

发表评论

登录后才能评论

评论列表(0条)

    保存