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

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

在列CI中想要指示每个组内重复的“分配模块”的百分比(注意几个垂直合并的单元格)。

每个分组的“分配模块”数量不同。 所以我不能使用一个静态范围。

任何人都可以build议我是如何计算每组重复“分配模块”的数量?

谢谢!

例如

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

电池C10(合并C10-13)= 100%

在这里输入图像说明

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

无法将数组公式中的所有单元格保存到合并的单元格中,因此您需要首先取消列C中的所有单元格。 然后在C3中input这个公式,并通过按CTRL+SHIFT+ENTER而不是ENTER保存它:

 =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 C列中使用此项来显示%Duplicate:

 =COUNTIF(B3:B8,B3:B8)/ROWS(B3:B8) 

这对于第2组:

 =COUNTIF(B10:B11,B10:B11)/ROWS(B10:B11) 

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

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

在这里输入图像说明

编辑:

好吧,我相信这将永远返回具有重复的组的百分比,而不pipe顺序如何。

 =1-SUMPRODUCT(ROUNDDOWN(1/COUNTIF(B3:B8,B3:B8),0))/ROWS(B3:B8) 

在这里输入图像说明