【问题标题】:Count cells that contain any text计算包含任何文本的单元格
【发布时间】:2012-09-13 04:48:00
【问题描述】:

我想计算包含某个范围内任何内容的单元格。 任何包含文本、数字或其他内容的单元格都应该在我的结果单元格中加一。

我找到了这个功能,

countif(range; criteria)

但这对我不起作用,因为我不知道在标准中输入什么。我该怎么做?

【问题讨论】:

    标签: google-sheets google-sheets-formula


    【解决方案1】:

    您可以将"<>"(包括引号)作为criteria 的参数传递。这基本上是说,只要它不是空的/空白的,就数它。我相信这就是你想要的。

    =COUNTIF(A1:A10, "<>") 
    

    否则,您可以按照 Scott 的建议使用 CountA

    【讨论】:

    • 没有“否则”。 CountA 是这样做的方法。
    • countA 不是计算生成单元格的方法,因为它也将 "" 计为 1。
    • =COUNTIF(A1:A10,"")
    • =COUNTA(A1:A10)-COUNTBLANK(A1:A10)
    • @paulvs,这取决于语言环境。
    【解决方案2】:

    COUNTIF 函数只会计算包含指定范围内数字的单元格。

    COUNTA(range) 将计算参数列表中的所有值。文本条目和数字会被计算在内,即使它们包含长度为 0 的空字符串。

    示例: A7中的功能 =COUNTA(A1:A6)

    范围:

    A1a

    A2b

    A3 香蕉

    A4 42

    A5

    A6

    A7 4 -> 结果

    Google 电子表格函数列表包含所有可用函数的列表以供将来参考https://support.google.com/drive/table/25273?hl=en

    【讨论】:

    • 在我的测试中,COUNTA 不计算空白单元格(即没有任何内容)。所以你这样说是不正确的。
    • 长度为 0 的空字符串不一定与空白单元格相同。空白单元格的值为 NULL(或类似,取决于系统);包含长度为 0 的字符串的单元格有内容。
    • @hazrpg,但它用=""计算单元格
    【解决方案3】:

    标准应该是"?*" 而不是"&lt;&gt;",因为后者也会计算包含空结果的公式,例如“”

    所以最简单的公式是

    =COUNTIF(Range,"?*")
    

    【讨论】:

      【解决方案4】:

      如果您有带有 ="" 之类的单元格并且不想计算它们,您必须使用公式从单元格总数中减去空单元格的数量,例如

      =row(G101)-row(G4)+1-countblank(G4:G101)
      

      如果是二维数组

      =(row(G101)-row(A4)+1)*(column(G101)-column(A4)+1)-countblank(A4:G101)
      

      在谷歌文档中测试。

      【讨论】:

        【解决方案5】:

        Sample file

        注意:

        • 试图找到计算非空白单元格的公式(="" 是空白单元格),而无需使用两次data 的解决方案:=ARRAYFORMULA(SUM(IFERROR(IF(data="",0,1),1)))。对于 ={SUM(IFERROR(IF(data="",0,1),1))} 应该可以工作(在公式中按 Ctrl+Shift+Enter)。

        【讨论】:

          【解决方案6】:

          COUNTIF函数可以计算单元格的具体情况 其中COUNTA 将计算所有包含任何值的单元格

          示例:A7 中的函数:=COUNTA(A1:A6)

          范围:

          A1| a
          
          A2| b
          
          A3| banana
          
          A4| 42
          
          A5|
          
          A6|
          
          A7| 4 (result)
          

          【讨论】:

            【解决方案7】:

            这行得通。

            =ArrayFormula(SUM(IF(ISTEXT(put-your-range-of-text-mixed-with-anything-here),1,0),1))

            1. IsText(range) 查看您的数据并为每个文本单元格返回 True,为每个不是文本的单元格返回 false。我认为这些被返回到数据表/数组中。请参阅第 4 步。
            2. If(IsText(range),1,0) 从步骤 1 中 IsText 返回的数组/表中获取 True/False 值,并将 True 转换为 1,将 False 转换为 0,作为真正的整数,而不是字符串.
            3. Sum(range) 然后合计 1(Trues/Cells 完全是文本)并忽略 0's(Falses/Cells 不完全是文本)。
            4. 出于某种原因,需要 ArrayFormula 将所有单元格的总和返回到一个单元格中,而不是将所有单元格的总和返回到一个相同大小的表格中。同上。如果有知识的人可以补充一下,将不胜感激。

            机会来了。

            【讨论】:

              猜你喜欢
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              • 2015-03-05
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              • 2020-04-21
              相关资源
              最近更新 更多