【发布时间】:2019-05-08 16:59:23
【问题描述】:
我在编写公式时遇到问题,该公式应计算所有包含大于 0 的数字的选定单元格,并跳过完全为空的单元格,即使该单元格已被选中。 Excel 给我一个错误,我选择了不包含数字的单元格。我怎样才能跳过它们?
这是我的公式:
=COUNTIFS(C8:C12;E8:E12;G8:G12;I8:I12;K8:K12;">0")
【问题讨论】:
标签: excel excel-formula
我在编写公式时遇到问题,该公式应计算所有包含大于 0 的数字的选定单元格,并跳过完全为空的单元格,即使该单元格已被选中。 Excel 给我一个错误,我选择了不包含数字的单元格。我怎样才能跳过它们?
这是我的公式:
=COUNTIFS(C8:C12;E8:E12;G8:G12;I8:I12;K8:K12;">0")
【问题讨论】:
标签: excel excel-formula
我认为您使用 COUNTIFS() 公式是错误的,在每个范围之后,都有一个标准。你不能有多个这样的范围来查看。更多信息请查看here 或here。
在您的情况下,您正在处理非连续范围,处理该范围的一种方法是this
所以公式将转换为:
=SUM(COUNTIF(INDIRECT({"C8:C12","E8:E12","G8:G12","I8:I12","K8:K12"}),">0"))
您可以尝试的另一个公式是:
=INDEX(FREQUENCY((C8:C12,E8:E12,G8:G12,I8:I12,K8:K12),0),2)
查看您的数据,其余列似乎包含文本(不确定,它们可能是日期)。如果它们是文本值:
=SUMPRODUCT((ISNUMBER(C8:K12))*(C8:K12>0))
如果它们实际上是日期(假设从 2018 年开始),那么您可以尝试:
=SUMPRODUCT((YEAR(C8:K12)<2018)*(C8:K12>0))
由于提供的标签和您的公式,我假设这是您正在寻找的,而不是基于 VBA 的解决方案。
【讨论】:
在这种特殊情况下,您也可以通过跳过不需要的列来做到这一点:
=SUMPRODUCT((C8:I12>0)*ISEVEN(COLUMN(C8:I12)-COLUMN(C8)))
【讨论】:
如果你使用下面的公式会发生什么?你收到错误了吗?
=COUNTIF(C8:C12,">0")+COUNTIF(E8:E12,">0")+COUNTIF(G8:G12,">0")+COUNTIF(I8:I12,">0")+COUNTIF(K8:K12,">0")
【讨论】: