【问题标题】:How do I get countifs to select all non-blank cells in Excel?如何让 countifs 选择 Excel 中的所有非空白单元格?
【发布时间】:2009-04-21 12:00:57
【问题描述】:

如何让countifs 选择所有非空白单元格? 我还有另外两个标准,所以不能单独使用counta

使用istext 会使结果始终为0。 使用<>"" 作为标准时,Excel 会出错。

【问题讨论】:

    标签: excel


    【解决方案1】:

    使用标准"<>"。它将计算不是空单元格的任何内容,包括#NAME?#DIV/0!。至于它为什么起作用,如果我知道的话,该死的,但 Excel 似乎理解它。

    注意:Google Spreadsheet 中也能很好地工作

    【讨论】:

    • 我自己尝试过,发现它有效,但正如您也指出的那样 - 为什么 excel 接受它是没有意义的。我必须添加另一个标准以避免我的 vlookups 显示的 0。
    • 哇! 7 年后,这个答案仍然是救命稻草 - 并且包含我在 Microsoft 文档中找不到的信息。谢谢!!
    • 请注意,这不适用于计算为空字符串的公式。例如,它将包含="" 的单元格计为非空白。
    【解决方案2】:

    如果多个条件使用 countifs

    =countifs(A1:A10,">""",B1:B10,">""")
    

    " >"" " 看起来大于空。此公式查找两个条件,并且同一行上的任何一列都不能为空,以便计算。如果只计算一列,请使用一个标准(即使用 B1:B10 之前的所有内容,不包括逗号)

    【讨论】:

    • 这很有帮助,因为在某些情况下,"<>" 不会排除明显为空的单元格,但在使用 ">""" 时会排除。
    • ">""" 解决方案是完美的。 “”的问题在于,即使它产生一个空白值(例如,如果您使用 IFERROR),它也会计算其中包含公式的单元格,而 ">""" 似乎适用于计算值的单元格而不是内容。
    • 这正是我一直在寻找的。 “”对我不起作用。这很好用。谢谢。
    【解决方案3】:

    在 Excel 2010 中,您有 countifS 函数。

    如果我试图计算一个范围内具有非 0 值的单元格的数量,我会遇到问题。

    例如如果您的工作表在 A1:A10 范围内的值为 1、0、2、3、0 并且您想要答案 3。

    普通函数 =COUNTIF(A1:A10,"0") 会给你 8,因为它将空白单元格计数为 0。

    我对此的解决方案是使用具有相同范围但多个条件的 COUNTIFS 函数,例如

    =COUNTIFS(A1:A10,"0",A1:A10,"")

    这有效地检查范围是否为非 0 且非空白。

    【讨论】:

      【解决方案4】:

      如果您使用多个条件,并且想要计算特定列中非空白单元格的数量,您可能需要查看 DCOUNTA。

      例如

        A   B   C   D  E   F   G
      1 Dog Cat Cow    Dog Cat
      2 x   1          x   1
      3 x   2 
      4 x   1   nb     Result:
      5 x   2   nb     1
      

      E5 中的公式: =DCOUNTA(A1:C5,"牛",E1:F2)

      【讨论】:

      • 这是一个比接受的答案更好的选择。当您想计算时,为什么要使用带有 IF 的 Vlookup 超出了我的范围。 Dcount 是您的朋友。不过,如果您喜欢大块的公式,请使用其他答案。
      【解决方案5】:

      你可以试试这个:

      =COUNTIF(Data!A2:A300,"<>"&"")
      

      【讨论】:

      • 这是我需要的。谢谢!
      【解决方案6】:

      我发现最好的方法是改用SUMPRODUCT

      =SUMPRODUCT((A1:A10<>"")*1)
      

      如果你想加入更多的标准也很好:

      =SUMPRODUCT((A1:A10<>"")*(A1:A10>$B$1)*(A1:A10<=$B$2))
      

      【讨论】:

        【解决方案7】:

        我发现最好的方法是使用组合“IF”和“ISERROR”语句:

        =IF(ISERROR(COUNTIF(E5:E356,1)),"---",COUNTIF(E5:E356,1)
        

        如果出现错误(如果单元格中没有要计数/平均/等的数据),此公式将使用三个破折号 (---) 填充单元格,或者使用计数(如果有数据在单元格中)

        关于这个逻辑查询的好处在于,它将通过将它们设为“---”的文本值来排除完全空白的行/列,因此如果您有一个行计数(或平均),然后计算(或平均)在公式的另一个位置,第二个公式不会响应错误,因为它会忽略“---”单元格。

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2022-11-17
          相关资源
          最近更新 更多