让COUNTIFS忽略所有空白单元格(=空单元格和包含“”的单元格)
我想用COUNTIFS
得到一个公式,就像
=COUNTIF(A1:A3,"<>"&"")
这样当A1
= 2, A2
=“”, A3
=空时,它返回1。
笔记:
-
A2
包含一个空string ,作为公式的结果。A3
是一个空格 ,没有公式。 - 公式发布返回2。
- 我尝试使用各种数量的双引号。 我总是得到2。
- 我尝试使用
&CHAR(34)&CHAR(34)
。 我得到2。 - 解决方法张贴在如何获得countifsselectExcel中的所有非空白单元格? 是我所尝试的,它返回2(没有用)。
- 公式实际上是
=COUNTIFS(range1,cond1,range2,cond2)
,这就是为什么我不能使用=ROWS(A1:A3)-COUNTIF(A1:A3,"")
或=ROWS(A1:A3)-COUNTBLANK(A1:A3)
(看这个 )。range1
和range2
将来自带有INDIRECT
expression式,但这可能不相关。 - 我用
=SUMPRODUCT(--(expression1),--(ISNUMBER(A1:A3)))
,但是我特别提到了使用COUNTIFS
的可能性。 数字与文本(例如)的区别在这一点上是不相关的。 - 空白与空string是“麻烦”的来源(见,例如, 这 )。
- 对于BLANK的定义,Excel本身有点模棱两可。 在我的示例中,
ISBLANK(A2)
返回FALSE
,但COUNTBLANK(A2)
返回1
。 - 我对用户
Function
不感兴趣。
使用SUMPRODUCT函数来计算单元格内容的LEN函数的SIGN函数 。
根据您的样本数据,A1有一个值,A2是由公式返回的零长度string,A3是真正的空白。
C2中的公式是,
=SUMPRODUCT(SIGN(LEN(A1:A3)))
是使用SUM而不是COUNTIFS一个选项? 如果是这样,我发现它过滤数据集更灵活。 例如:
= SUM(IF(NOT(ISBLANK(A1:A3)),IF(NOT(ISTEXT(A1:A3)),1,0),0))
(作为数组公式input)。 IF(NOT(ISBLANK(x))…过滤掉非空白,然后IF(NOT(ISTEXT(x))…过滤掉非文本。根据需要设置多个filter如果您只想过滤掉空的string,但包含其他文本条目,则可以使用类似的filter
IF(ISTEXT(X),IF(LEN(X)> 0,1,0),0)