我正在寻找计算它们存在的0的平均频率IN BETWEEN每行的1。 我过去使用过Frequency&频率组合。列函数用于计算平均条纹(1或0)和Max Streak(1和0)。
例如,行2,3,4&省略图6,因为没有1-0-1的序列发生。第5,7行和第5行8具有1-0-1的序列。对于这些,我不确定如何计算每行1的0之间的平均数。
非常感谢任何帮助,并提前致谢!
干杯
答案 0 :(得分:0)
您可以使用例如=COUNTIF( $B5:$S5, 1 )
来计算1和=COUNT( $B5:$S5 )
以计算数字。您还可以查看FREQUENCY功能
如果这不能回答您的问题,请尝试提供一个较小的示例和您期望的数字。
答案 1 :(得分:0)
您可以使用数组公式获得创意。例如,尝试在单元格T2
中输入此怪物公式作为数组公式(Ctrl + Shift + Enter)并填充。
=IFERROR( 2 * AVERAGE( IF(($B2:$R2=0)*($C2:$S2=1)*COLUMN($B2:$R2)*(COLUMN($B2:$R2) > COLUMN($B2)+MATCH(1,$B2:$S2,0)-1) - ($B2:$R2=1)*($C2:$S2=0)*COLUMN($B2:$R2)*(COLUMN($B2:$R2) < MAX(COLUMN($B2:$S2)*($B2:$S2=1))) <> 0, ($B2:$R2=0)*($C2:$S2=1)*COLUMN($B2:$R2)*(COLUMN($B2:$R2) > COLUMN($B2)+MATCH(1,$B2:$S2,0)-1) - ($B2:$R2=1)*($C2:$S2=0)*COLUMN($B2:$R2)*(COLUMN($B2:$R2) < MAX(COLUMN($B2:$S2)*($B2:$S2=1))) ) ), 0)
没有详细说明,这是正在发生的事情:
($B2:$R2=0)*($C2:$S2=1)*COLUMN($B2:$R2)
- 这将返回一个列数数组,表示行从0转换为1(条纹结束)。类似地,- ($B2:$R2=1)*($C2:$S2=0)*COLUMN($B2:$R2)
向数组添加行号从1转换为0(条纹开始)的列号,除非它被减去以给出负列号。*(COLUMN($B2:$R2) > COLUMN($B2)+MATCH(1,$B2:$S2,0)-1)
忽略前导零,*(COLUMN($B2:$R2) < MAX(COLUMN($B2:$S2)*($B2:$S2=1)))
忽略尾随零。AVERAGE(IF(exp <> 0, exp))
的平均值计算中不包含零,不幸的是,该公式的大小增加了一倍。IFERROR(exp, 0)
。