ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

搜索
EH技术汇-专业的职场技能充电站 妙哉!函数段子手趣味讲函数 Excel服务器-会Excel,做管理系统 Excel Home精品图文教程库
HR薪酬管理数字化实战 Excel 2021函数公式学习大典 Excel数据透视表实战秘技 打造核心竞争力的职场宝典
300集Office 2010微视频教程 数据工作者的案头书 免费直播课集锦 ExcelHome出品 - VBA代码宝免费下载
用ChatGPT与VBA一键搞定Excel WPS表格从入门到精通 Excel VBA经典代码实践指南
查看: 32300|回复: 26

[已解决] 如何统计不重复数据的个数,并且能统计筛选后的结果

[复制链接]

TA的精华主题

TA的得分主题

发表于 2010-9-29 09:45 | 显示全部楼层 |阅读模式
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
我在网上查询到以下两种实现方法:

求A1:A100范围内不重复数据的个数,某个数重复多次出现只算一个。有两种计算方法:

一是利用数组公式:
=SUM(1/COUNTIF(A1:A100,A1:A100))
输入完公式后按Ctrl+Shift+Enter键,让它自动加上数组公式符号"{}"。

二是利用乘积求和函数:
=SUMPRODUCT(1/COUNTIF(A1:A100,A1:A100))

我选用的是第二种方法,但是发现以上方法和筛选功能不挂钩,我使用了筛选功能,每次筛选之后结果都不一样,可是计算结果都一样,这说明这个计算公式和筛选结果不挂钩,怎样做?

TA的精华主题

TA的得分主题

 楼主| 发表于 2010-9-29 09:47 | 显示全部楼层
我想统计的是筛选后的结果,而不是筛选的结果。

TA的精华主题

TA的得分主题

发表于 2010-9-29 09:50 | 显示全部楼层
原帖由 gzronald70 于 2010-9-29 09:45 发表
我在网上查询到以下两种实现方法:

求A1:A100范围内不重复数据的个数,某个数重复多次出现只算一个。有两种计算方法:

一是利用数组公式:
=SUM(1/COUNTIF(A1:A100,A1:A100))
输入完公式后按Ctrl+Shift+Ente ...

第二个公式的结果可能会有小数,要用round函数处理一下,另外,如果数据区域中有通配符好,结果也有可能不正确,最好的方法是上传附件,才是解决问题的根本。

TA的精华主题

TA的得分主题

发表于 2010-9-29 09:54 | 显示全部楼层
比如在B5输入以下公式:
=index($A$1:$A$100, match(,countif($B$4:B4, $A$1:$A$100),0)),数组,可以实现筛选。

TA的精华主题

TA的得分主题

发表于 2010-9-29 09:57 | 显示全部楼层
使用高级筛选-筛选不重复记录和数据透视表也可以统计不重复记录。

TA的精华主题

TA的得分主题

 楼主| 发表于 2010-9-29 10:01 | 显示全部楼层
我现在吧附件上传了,我的公式设置在I1单元格,并且现在公式出错了,我原来设置的是 =SUM(1/COUNTIF(A1:A100,A1:A100)) 公式能用,我仅仅是把要统计的行数修改了一下,改为了 =SUM(1/COUNTIF(A2:A2000,A2:A2000))  ,就出错了,这是第一个问题。

第二个问题,就是刚才讲的,筛选之后的统计问题,例如现在这个文档,我就是筛选了 B列 (原唱) 为曹格,然后应该要统计筛选后的结果,因为我经常频繁操作的是筛选功能,不想去在公式中添加if条件,那样太麻烦,因为每次要变换筛选条件,难道每次都要去更改那个公式吗?那样太麻烦,还不如不用公式计算,我自己数一下结果可能还更快。

吉他谱目录.rar

41.96 KB, 下载次数: 172

TA的精华主题

TA的得分主题

发表于 2010-9-29 10:06 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
第一个问题,因为a2:a2000区域中有空白单元格,要用&""来容错,公式改为=SUM((A2:A2000<>"")/COUNTIF(A2:A2000,A2:A2000&""))

评分

1

查看全部评分

TA的精华主题

TA的得分主题

 楼主| 发表于 2010-9-29 10:09 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
原帖由 laowuwyx 于 2010-9-29 10:06 发表
第一个问题,因为a2:a2000区域中有空白单元格,要用&""来容错,公式改为=SUM((A2:A2000"")/COUNTIF(A2:A2000,A2:A2000&""))

按照你说的,第一个问题获得解决了,十分感谢!
那么第二个问题呢?怎样和筛选之后的结果挂钩?

TA的精华主题

TA的得分主题

发表于 2010-9-29 10:11 | 显示全部楼层
原帖由 gzronald70 于 2010-9-29 10:09 发表

按照你说的,第一个问题获得解决了,十分感谢!
那么第二个问题呢?怎样和筛选之后的结果挂钩?

第二个问题我不是很明白你的意思,你的意思是将筛选的结果用公式统计出来是多少个???

[ 本帖最后由 laowuwyx 于 2010-9-29 10:14 编辑 ]

TA的精华主题

TA的得分主题

 楼主| 发表于 2010-9-29 10:15 | 显示全部楼层
原帖由 laowuwyx 于 2010-9-29 10:11 发表

第二个问题我不是很明白你的意思。


就是b列为原唱者,那么我筛选了b列的原唱者为曹格之后,出现的结果只有7首歌,如果算上不重复的,只有6首歌,我刚才那个公式希望得到的是这个结果,可是现在计算结果为624首歌,就是没有筛选之前的结果,就是我无论怎样筛选,那个计算公式都不理会我的筛选操作,就是这个意思。
您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

手机版|关于我们|联系我们|ExcelHome

GMT+8, 2024-5-8 03:03 , Processed in 0.035087 second(s), 12 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

沪公网安备 31011702000001号 沪ICP备11019229号-2

本论坛言论纯属发表者个人意见,任何违反国家相关法律的言论,本站将协助国家相关部门追究发言者责任!     本站特聘法律顾问:李志群律师

快速回复 返回顶部 返回列表