如何在非连续范围上使用 countif?

如何在非连续范围上使用 countif?

我在 Excel 电子表格中有大量数据。我想计算每行的值的数量在特定列中,如下所示,大于零。我该怎么做?

需要计算的行的屏幕截图

我尝试过COUNTIF(),它不会接受非连续范围并COUNTIFS()分别给出范围和条件,但这会给出>0作为条件的错误。我也想过为此使用命名范围,但我需要能够轻松复制 40 行左右的公式。

  • =COUNTIF((DN6, DV6),>0)不被 Excel 接受(给出的 #VALUE 为“0”,而不是“>0”)
  • =COUNTIFS(DN6, >0, DV6, >0)不被 Excel 接受(但可以使用“0”而不是“>0”)

有人能建议一些可行的替代方法吗?

答案1

您的问题不是我会使用的情况COUNTIF,您可以简单地执行以下操作:

=(DN6>0)+(DV6>0)

怎么运行的:

  • DN6>0返回TRUEFALSE
  • 当在算术公式中使用布尔值时,FALSE会自动转换为0TRUE转换为1
    (另一种方式也会自动转换,在逻辑公式中0会转换为FALSE,其他所有数字都会转换为TRUE

COUNTIF如果您的范围由多个单元格组成,则使用会很有意义,例如:

=COUNTIF(DK6:DN6,">0")+COUNTIF(DV6:EA6,">0")

答案2

由于我只需要计算一次值,而不是动态计算,所以我最终将各个列复制并粘贴到新工作表中。从那里我可以COUNTIF()在现在的连续范围内使用。

这可能比Máté 的回答如果像我一样,您只需要计算一次值并且有很多列,则需要大量输入才能使用(Cell>0)上面建议的方法。

相关内容