首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在多个范围内计算重复值的百分比

在多个范围内计算重复值的百分比
EN

Stack Overflow用户
提问于 2017-04-04 12:42:47
回答 2查看 3.3K关注 0票数 0

下面的示例电子表格显示了两列。A列包含由两个灰色行轮廓表示的两个不同的分组。B栏包含每个组的“分配模块”。

在C列中,我希望指出每个组中重复的“赋值模块”的%(注意几个垂直合并的单元格)。

“分配模块”的数量因组而异。因此,我不能使用一个静态范围。

有人能建议我如何计算每组重复的“分配模块”的数量吗?

谢谢!

E.G

单元C3 (合并C3-8) = 83%

单元C10 (合并C10-13) = 100%

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2017-04-05 02:46:17

这是一个数组公式,可以进入C3。它搜索下100行A列,以查找下一个组的起始位置;这用于确定当前组的范围。最后一个组需要A列下一行中的一个虚拟值来标识最后一个组的范围。

不可能将数组公式保存到合并的单元格中,因此需要先将C列中的所有单元格展开。然后在C3中输入这个公式,然后按CTRL+SHIFT+ENTER而不是只按ENTER保存它。

代码语言:javascript
复制
=1-SUM((COUNTIF(OFFSET(B3,0,0,MATCH("*",A3:A101,0)-1),OFFSET(B3,0,0,MATCH("*",A3:A101,0)-1))=1)*1)/(SUM((OFFSET(B3,0,0,MATCH("*",A3:A101,0)-1)<>0)*1))

然后,只需复制整个单元格并将其粘贴到每个组的第一行。然后,如果需要,可以重新合并C列中的单元格。

票数 1
EN

Stack Overflow用户

发布于 2017-04-04 13:27:34

您可以在第1组C列中使用此值来表示%复制:

代码语言:javascript
复制
=COUNTIF(B3:B8,B3:B8)/ROWS(B3:B8)

对于第2组:

代码语言:javascript
复制
=COUNTIF(B10:B11,B10:B11)/ROWS(B10:B11)

或者,您可以将每个组范围定义为定义的名称:

代码语言:javascript
复制
=COUNTIF(Group1,Group1)/ROWS(Group1)


=COUNTIF(Group2,Group2)/ROWS(Group2)

编辑:

好的,我相信这将始终返回有重复的组的百分比,不管顺序如何。

代码语言:javascript
复制
=1-SUMPRODUCT(ROUNDDOWN(1/COUNTIF(B3:B8,B3:B8),0))/ROWS(B3:B8)

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/43207582

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档