答案1
您可以使用一个相当复杂的公式:
=SUM(N(MMULT(N(B3:D10="Fail"),ROW(INDEX(A:A,1):INDEX(A:A,COLUMNS(B3:D10)))^0)>0))
如果您想缩短这个并且不介意输入数组的变体:
=SUM(N(MMULT(N(B3:D10="Fail"),TRANSPOSE(COLUMN(B3:D10)^0))>0))
确认通过CtrlShiftEnter
如果你想了解这些公式的工作原理,我建议你读一下这篇文章关联
编辑
另一个选择是SUMPRODUCT
像这样使用:
=SUMPRODUCT(--((B3:B10="Fail")+(C3:C10="Fail")+(D3:D10="Fail")>0))
这也许会让整个事情变得更容易理解一些。
答案2
此数组公式将解决该问题:
Fail
单元格计数公式F142
:
{=SUM(--(MMULT(--($C$136:$E$141=$E$142),TRANSPOSE(COLUMN($C$136:$E$141)))>0))}
注意:
- 单元格中的公式
F142
,最后以Ctrl+Shift+Enter。 - 标准失败在单元格中
E142
,使公式动态化。
- 多元多极体返回两个数组的矩阵乘积。
(--($C$136:$E$141=$E$142)
,TRUE/ FALSE
为 Range 中的每个值生成一个。- 双重否定
--
将 the 强制TRUE/FALSE
转换为1
& ,0
就像这样。
{1,1,1;0,1,0;1,0,1;0,0,0;0,0,1;1,0,0}
TRANSPOSE(COLUMN($C$136:$E$141))
,是公式中比较棘手的部分,其中柱子用于生成正确大小的数字数组。- 对于非零值,
>0
再次强制TRUE/ FALSE
进入1
并0
获取最终数组内部和。
=SUM({1;1;1;0;1;1})
,返回5
。
您可以根据需要调整公式中的单元格引用。