-1

在 Google 表格中,我想计算一个范围内(C4:U4)非空非空白单元格的数量。用 来计算非空很容易COUNTIF。棘手的问题似乎是我想将一个或多个空白的单元格视为空的。(我的用户总是在不可见的单元格中留下空白,我浪费了大量时间清理它们。)

=COUNTIF(C4:U4,"<>")将具有一个或多个空格的单元格视为非空单元格并对其进行计数。我也尝试过=COUNTA(C4:U4),但是遇到了同样的问题,即计算一个或多个空白的单元格。

我在stackoverflow中找到了一个解决方案,被 95 人标记为解决方案,但它不适用于带有空白的单元格。

经过大量阅读,我想出了一个奇特的公式:

=COUNTIF(FILTER(C4:U4,TRIM(C4:U4)>="-"),"<>")

这个想法是在测试单元格大于或等于连字符(我能找到的可打印字符的最低顺序)TRIM之前删除前导和尾随空格。FILTER然后该FILTER函数将一个数组返回给该COUNTIF函数,该数组仅包含非空和非空白单元格。COUNTIF然后针对“<>”进行测试

这有效(或至少“似乎”有效)但我想知道我是否错过了一些非常明显的东西。当然,隐藏空白的问题非常普遍,并且自 excel 和 google 表格出现以来就一直存在。必须有一个更简单的方法。

(我的第一个问题对任何违反论坛规则的行为表示歉意。)

4

5 回答 5

1

这应该有效:

=countif(C4:U4,">""")

我在这里找到了这个解决方案:

COUNTA 是否计算新 Google 电子表格中的空白(空)单元格?

如果有,请告诉我。

于 2019-02-27T01:10:31.473 回答
1

可以试试这个,但我完全不确定

=SUMPRODUCT(--(trim((substitute(A2:A5,char(160),"")))<>""))
  • 似乎在 Google 表格中,您必须输入 char(160) 以匹配输入到单元格中的空格?

似乎这是由于一个不间断的空间,并且可能也适用于 Excel - 如此所述- 建议您也可以通过 CLEAN 函数将其传递以消除代码在 0-31 范围内的不可见字符。

于 2016-09-12T11:27:58.697 回答
1
=COLUMNS(C4:U4)-COUNTBLANK(C4:U4)

这将计算您的范围内有多少个单元格(C4 到 U4 = 19 个单元格),并减去那些真正“空”的单元格。

空格不会被 计算COUNTBLANK,尽管它的名字应该是COUNTEMPTY

于 2019-02-27T01:25:28.297 回答
1

我找到了另一种使用方法:

=ARRAYFORMULA(SUM(IF(TRIM($C4:$U4)<>"",1,0)))

如果有可用的方法,我仍在寻找一种更简单的方法。

于 2016-09-14T08:59:15.860 回答
1

我不知道谷歌。但对于 Excel,您可以将此数组公式用于多个连续列:

=ROWS(A1:B10) * COLUMNS(A1:B10)-(COUNT(IF(ISERROR(CODE(A1:B10)),1,""))+COUNT(IF(CODE(A1:B10)=32,1,"")))
于 2016-09-12T12:04:11.663 回答