将多步布尔值总和转换为单个公式

将多步布尔值总和转换为单个公式

我有几个传感器读数,我正在检查这些值是否在可接受的范围内。

为此,我使用一个IF来检查这些值是否是><计算出的(平均)值。结果存储在相应的列中。最后,我将结果相加,得到超出范围(即高于平均值)的数量。

例如,AxMean.进行比较,在.中Ax得到1或:0If value is outside accepted boundsAx

图片 1

然后对If value is outside accepted bounds.Ax进行求和,得到Number of values outside bound. Ax

图 2,总结

问题
我如何将其转换为单一公式?

答案1

您所追求的功能是COUNTIF()

工作表截图

在 中输入以下公式G3,然后按 ctrl-enter/copy-paste/fill-right 进入G3:I3

=COUNTIF(A3:A8,">"&D3)

COUNTIF()检查第一个参数中的每个值是否符合第二个参数中的标准,并计算满足该标准的次数。


使用COUNTIF()是最简单和最好的解决方案。

当然,你可以使用更复杂/更难理解的公式,例如

=SUMPRODUCT(--(A3:A8>D3))

或者输入一个数组

{=SUM(--(A3:A8>D3))}

或甚至是更不必要的复杂版本。

然而,在这种特殊情况下,使用其中任何一种都可以带来好处。


事实上,由于您似乎对减少辅助列的数量感兴趣,因此更好的整体解决方案是同时放弃平均辅助列:

工作表截图

在 中输入以下公式D3,然后按 ctrl-enter/copy-paste/fill-right 进入D3:F3

=COUNTIF(A3:A8,">"&AVERAGE(A3:A8))

=SUMPRODUCT(--(A3:A8>AVERAGE(A3:A8)))(是的,如果将此公式转换为或,初学者可能会更难理解{=SUM(--(A3:A8>AVERAGE(A3:A8)))}。)

答案2

SUMPRODUCT 函数也可以解决您的问题。

在此处输入图片描述

在 G102 中写入此公式并将其从 G102 填充到 I102:

=SUMPRODUCT(--(A102:A107>D102:D107))

注意: 根据需要调整公式中的单元格地址。

相关内容