计算多个范围内重复值的百分比
下面的示例电子表格显示了两列。 列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)