ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

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

sumproduct求不重复数的个数

[复制链接]

TA的精华主题

TA的得分主题

发表于 2019-7-30 17:18 | 显示全部楼层 |阅读模式
在网上看到一条公式:=SUMPRODUCT(1/COUNTIF(A2:A11,A2:A11))
求A2:A11中不重复项的个数

公式解析如下:
COUNTIF(A2:A11,A2:A11) 是统计 A2:A11 区域中的每个数据出现的次数,过程为:
=COUNTIF(A2:A11,A2)
=COUNTIF(A2:A11,A3)
......
=COUNTIF(A2:A11,A4)
得到内存数组:
{2;2;1;1;1;1;1;2;2;1}。

用 1 除以统计的内存数组,得到 :
{0.5;0.5;1;1;1;1;1;0.5;0.5;1}。
如果 A2:A11 区域中数据出现 1 次,则 1 除以 1,结果不变;
如果 A2:A11 区域中数据出现 2 次,则 1 除以 2,结果是 0.5,2 个 0.5 相加还是 1;
如果 A2:A11 区域中数据出现 3 次,则 1 除以 3,结果是 1/3,3 个 1/3 相加还是 1;
由此类推到其他数字,每个数据出现的次数的倒数之和为 1 。

最后用 SUMPRODUCT 求和得到不重复数据的个数。

我不明白的地方在于,SUMPRODUCT给{0.5;0.5;1;1;1;1;1;0.5;0.5;1}求和的解析原则是怎样的?
根据excel的及时,SUMPRODUCT(array1,array2,array3, ...),Array1, array2, array3, ...  为 2 到 255 个数组,其相应元素需要进行相乘并求和。
但是{0.5;0.5;1;1;1;1;1;0.5;0.5;1}很明显只是一个数组,而非两个。

TA的精华主题

TA的得分主题

发表于 2019-8-2 13:09 | 显示全部楼层

TA的精华主题

TA的得分主题

 楼主| 发表于 2019-8-15 10:02 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
XIYANGYU 发表于 2019-8-2 13:09
回复需要审核,稍等一下。

好,等你的回复

TA的精华主题

TA的得分主题

发表于 2019-8-16 17:36 来自手机 | 显示全部楼层

TA的精华主题

TA的得分主题

发表于 2019-8-19 16:01 | 显示全部楼层

之前的回复因为带了链接被吃掉了。我是这么理解的,如果是一个数组的话你可以理解为SUMPRODUCT本身还有一个隐藏全TRUE数组和你的数组进行相乘相加操作。

TA的精华主题

TA的得分主题

发表于 2019-8-19 16:03 | 显示全部楼层

然后补充两点:
1、这个称为“统计不重复个数”稍微有点歧义,我一般称为统计种类数量;
2、你这个地方直接用SUM应该就可以完成目标了。
头像被屏蔽

TA的精华主题

TA的得分主题

发表于 2019-9-24 16:51 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
提示: 作者被禁止或删除 内容自动屏蔽

TA的精华主题

TA的得分主题

发表于 2019-10-12 21:31 来自手机 | 显示全部楼层
我理解的就是你当做另外一个是1就好,乘以1就等于自己,就是相加了,一个数组,你就当做,相加好了,这个函数,对比sum好的就是遇到数组函数的不用三键数值
您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

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

GMT+8, 2024-11-22 12:14 , Processed in 0.028967 second(s), 8 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

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

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

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