4

我想得到一个公式COUNTIFS,比如

=COUNTIF(A1:A3,"<>"&"")

这样当A1= 2, A2= "", A3= 空时,它返回 1。

笔记:

  1. A2包含一个空字符串,作为公式的结果。A3是一个空白单元格,里面没有公式。
  2. 发布的公式返回 2。
  3. 我尝试使用各种数量的双引号。我总是得到2。
  4. 我尝试使用&CHAR(34)&CHAR(34). 我得到2。
  5. 在如何获取计数以选择 Excel 中的所有非空白单元格中发布的解决方案?是我尝试过的,它返回 2(没用)。
  6. 这个公式实际上是=COUNTIFS(range1,cond1,range2,cond2),这就是为什么我不能使用类似 =ROWS(A1:A3)-COUNTIF(A1:A3,"")or的东西=ROWS(A1:A3)-COUNTBLANK(A1:A3)(见这个)。 range1并且range2将来自带有 的表达式INDIRECT,但这可能不相关。
  7. 我已经解决了=SUMPRODUCT(--(expression1),--(ISNUMBER(A1:A3))),但我特别询问使用的可能性COUNTIFS。在这一点上,数字与文本(例如)的区别是不相关的。
  8. 空白空字符串是“麻烦”的根源(例如,参见this)。
  9. Excel 本身对于BLANK的定义有些模棱两可。在我的示例中,ISBLANK(A2)返回FALSE,但COUNTBLANK(A2)返回1
  10. 我对用户不感兴趣Function
4

3 回答 3

4

使用SUMPRODUCT 函数计算单元格内容的LEN 函数的SIGN 函数。

    针对零长度字符串的 COUNTIF

根据您的示例数据,A1 有一个值,A2 是由公式返回的零长度字符串,A3 是真正的空白。

C2中的公式是,

=SUMPRODUCT(SIGN(LEN(A1:A3)))

于 2015-03-27T05:29:24.347 回答
4

我遇到了这个确切的问题,我刚刚发现了用于搜索任何一个或多个字符的“?*”通配符,从而避免了空字符串问题——天才!在此处查看 Jonathan Gawrych 的答案(在所选答案之后发布):

Excel Countif 不等于字符串长度为零

不确定这是否适用于 OP,因为看起来 A1 中的值可能需要作为数字而不是字符串处理,但它可能会帮助到达这里寻找文本解析解决方案的其他任何人。

于 2019-06-24T19:03:50.533 回答
1

使用 SUM 而不是 COUNTIFS 是一种选择吗?如果是这样,我发现它对于过滤数据集更加灵活。例如:

=SUM(IF(NOT(ISBLANK(A1:A3)),IF(NOT(ISTEXT(A1:A3)),1,0),0))

(作为数组公式输入)。IF(NOT(ISBLANK(x))... 过滤掉非空白,然后 IF(NOT(ISTEXT(x))... 过滤掉非文本。过滤器中存在的任何内容都通过求和 1 来计数。您可以添加尽可能多的过滤器。如果您只想过滤掉空字符串但包含其他文本条目,您可以使用过滤器,例如

IF(ISTEXT(x),IF(LEN(x)>0,1,0),0)

于 2015-06-23T03:30:08.653 回答