【问题标题】:Count cells bigger than 0, IF empty skip cell计数大于 0 的单元格,如果为空则跳过单元格
【发布时间】:2019-05-08 16:59:23
【问题描述】:

我在编写公式时遇到问题,该公式应计算所有包含大于 0 的数字的选定单元格,并跳过完全为空的单元格,即使该单元格已被选中。 Excel 给我一个错误,我选择了不包含数字的单元格。我怎样才能跳过它们?

这是我的公式:

=COUNTIFS(C8:C12;E8:E12;G8:G12;I8:I12;K8:K12;">0")

【问题讨论】:

    标签: excel excel-formula


    【解决方案1】:

    我认为您使用 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 的解决方案。

    【讨论】:

    • 我想选择这个单元格:prntscr.com/nlutze 并且我希望 excel 会计算包含大于 0 的数字的单元格并跳过空单元格
    • @patriot16,提供的公式正是这样做的,尽管我认为您可能会对“选择”单元格和计数感到困惑。我添加了另一个选项供您尝试。
    • 整洁!实际上,第一个公式中有一个杂散的分号。
    • 感谢@TomSharpe,翻译迷路了;)
    • 谢谢@JvdV。你写的第三个公式适用于我的情况。这个:=SUMPRODUCT((ISNUMBER(C8:K12))*(C8:K12>0))
    【解决方案2】:

    在这种特殊情况下,您也可以通过跳过不需要的列来做到这一点:

    =SUMPRODUCT((C8:I12>0)*ISEVEN(COLUMN(C8:I12)-COLUMN(C8)))
    

    【讨论】:

      【解决方案3】:

      如果你使用下面的公式会发生什么?你收到错误了吗?

      =COUNTIF(C8:C12,">0")+COUNTIF(E8:E12,">0")+COUNTIF(G8:G12,">0")+COUNTIF(I8:I12,">0")+COUNTIF(K8:K12,">0")
      

      【讨论】:

      • 我累了,但同样的错误。无论如何感谢您的帮助。 :)
      【解决方案4】:

      试试这个

      要求不能在单个公式中完成,

      结合两个或更多公式将有助于修正公式。

      公式 =COUNTA(B2:B9,D2:D9) -- 统计所有非空白单元格的

      =COUNTIF(B2:B9,"=0")+COUNTIF(D2:D9,"=0") -- 计算所有单元格的值为0

      减去两者,这将给出您正在寻找的输出

      组合公式

      =COUNTA(B2:B9,D2:D9)-(COUNTIF(B2:B9,"=0")+COUNTIF(D2:D9,"=0"))

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2022-11-24
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2018-03-13
        相关资源
        最近更新 更多