答案1
如果我理解你的问题正确的话,你可以将任务重新表述为:计算两列中的一列(或两列)包含值的任何行>=13.8
。
您可以使用SUMPRODUCT
来实现您的目标(假设您提供的数据位于单元格中B1
)C7
:
=SUMPRODUCT( ( ( ( B1:B7 >= 13.8 ) + ( C1:C7 >= 13.8 ) ) > 0 ) * 1 )
它的作用是评估每个数组的条件(因此我们得到每行的true
和数组false
),然后添加它们的值。因此,您将得到一个由 0、1 和 2 组成的数组(根据当前行中是否没有单元格具有匹配值、一个单元格或两个单元格具有匹配值而定)。然后检查这些值(通过),您将再次> 0
得到一个 和 数组,我们将其与 1 相乘即可得到总和。true
false
您可以通过选择公式>配方审核>评估公式从功能区(带有屏幕截图的详细说明这里)。
答案2
您可以继续在此处使用COUNTIFS
,即:
=SUM(COUNTIFS(B:B;{">=",">=","<"}&13,8;C:C;{"<",">=",">="}&13,8))
尽管可以说有点复杂,但它确实有一个优点,SUMPRODUCT
那就是你可以引用整个列而不会损害性能。
当然,这种设置不容易扩展以处理更多标准。然而,在这种情况下也许值得考虑。
请注意,您可能需要修改数组常量中的分隔符,以使其具有适合您的系统的有效格式,例如:
{">="\">="\"<"}
也许:
{">=".">="."<"}
问候
答案3
我给你拿了这个:
=SUM( COUNTIF( A:A;">=13,8" ) ; COUNTIF( B:B;">=13,8" ) )
- COUNTIFS( A:A;">=13,8" ; B:B;">=13,8" )
它计算每列中满足条件的单元格数量,然后减去两列都满足条件的行数。