计算某个值的出现次数,两列

计算某个值的出现次数,两列

我想计算>=13.8两列中值的出现次数,这没有问题 - 但如果同一行上的两个值都是,>=13.8我希望将其算作一次匹配。

以下是一个例子
https://i.stack.imgur.com/VR305.png
结果应该是6

我知道我可以使用一个简单的公式添加第三列,其中包含每行的结果,并计算该列中的值。但这是一个相当庞大的文档和很多表格,所以如果可以用一个公式进行计算那就太好了。:)

有任何想法吗?

答案1

如果我理解你的问题正确的话,你可以将任务重新表述为:计算两列中的一列(或两列)包含值的任何行>=13.8

您可以使用SUMPRODUCT来实现您的目标(假设您提供的数据位于单元格中B1C7

=SUMPRODUCT( ( ( ( B1:B7 >= 13.8 ) + ( C1:C7 >= 13.8 ) ) > 0 ) * 1 )

(德语)公式的屏幕截图,使括号更清晰一些:)

它的作用是评估每个数组的条件(因此我们得到每行的true和数组false),然后添加它们的值。因此,您将得到一个由 0、1 和 2 组成的数组(根据当前行中是否没有单元格具有匹配值、一个单元格或两个单元格具有匹配值而定)。然后检查这些值(通过),您将再次> 0得到一个 和 数组,我们将其与 1 相乘即可得到总和。truefalse

您可以通过选择公式>配方审核>评估公式从功能区(带有屏幕截图的详细说明这里)。

答案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" )

它计算每列中满足条件的单元格数量,然后减去两列都满足条件的行数。

相关内容