Google Sheet: Countif/Filter 使用 isblank
Google Sheet: Countif/Filter working with isblank
我正在尝试对列中的非空白单元格进行计数,这就是我所做的
COUNTIF(D:D,NOT(ISBLANK(D:D)))
它不起作用,总是 returns“0”。
我知道 还有其他更好的方法,例如 COUNTA
和 =countif(D:D,"<>")
,但出于学习目的,我想知道如何使用 isblank
.我认为这里的问题是 countif
在一个范围内是 运行 而 isblank
在一个单元格上是 运行。然而,这有效并且让我感到困惑:
FILTER(D:D,NOT(ISBLANK(D:D)))
似乎有一种函数被指定用于数组。我认为它在这种情况下发挥了作用。在 Google sheet 的文档页面上,如 https://support.google.com/docs/answer/3093197?hl=en 它没有提到函数是否是“数组函数”,所以我怎么知道什么时候可以放置像 isblank
在另一个函数的参数中,它会循环遍历它自己的参数定义的范围吗?也就是说,为什么isblank
在FILTER
函数中可以循环遍历D:D
,而在COUNTIF
中却不行?这里的 FILTER
和 COUNTIF
有什么区别,引用这个区别的文档在哪里?有没有像 FILTER
这样的函数可以与 isblank
?
这样的函数一起使用
虽然 FILTER
和 COUNTIF
之间几乎没有主要区别(比如 FILTER
是 ARRAYFORMULA
类型的函数,而 COUNTIF
介于两者之间) 这里的问题是语法方面它们都是不同的,因为这不会起作用:
=COUNTIF(D:D, NOT(ISBLANK(D:D)))
这将无法正常工作:
=FILTER(D:D, "<>")
此外,如果您看一下 ISBLANK
,则此函数需要排列(在像您这样的情况下,成为 FILTER
、INDEX
或 ARRAYFORMULA
的一部分,当您使用数组)如:
=INDEX(NOT(ISBLANK(D:D)))
否则只会考虑第一个单元格。同时,如果将 COUNTIF
包装到 FILTER
、INDEX
或 ARRAYFORMULA
中,它将处理每一行的值,例如。它将以不同于预期的方式行事。还要查看 ARRAYFORMULA
下是否支持该功能,您可以像这样简单地测试它:
=ARRAYFORMULA(IS_BLANK(D:D))
我正在尝试对列中的非空白单元格进行计数,这就是我所做的
COUNTIF(D:D,NOT(ISBLANK(D:D)))
它不起作用,总是 returns“0”。
我知道 还有其他更好的方法,例如 COUNTA
和 =countif(D:D,"<>")
,但出于学习目的,我想知道如何使用 isblank
.我认为这里的问题是 countif
在一个范围内是 运行 而 isblank
在一个单元格上是 运行。然而,这有效并且让我感到困惑:
FILTER(D:D,NOT(ISBLANK(D:D)))
似乎有一种函数被指定用于数组。我认为它在这种情况下发挥了作用。在 Google sheet 的文档页面上,如 https://support.google.com/docs/answer/3093197?hl=en 它没有提到函数是否是“数组函数”,所以我怎么知道什么时候可以放置像 isblank
在另一个函数的参数中,它会循环遍历它自己的参数定义的范围吗?也就是说,为什么isblank
在FILTER
函数中可以循环遍历D:D
,而在COUNTIF
中却不行?这里的 FILTER
和 COUNTIF
有什么区别,引用这个区别的文档在哪里?有没有像 FILTER
这样的函数可以与 isblank
?
虽然 FILTER
和 COUNTIF
之间几乎没有主要区别(比如 FILTER
是 ARRAYFORMULA
类型的函数,而 COUNTIF
介于两者之间) 这里的问题是语法方面它们都是不同的,因为这不会起作用:
=COUNTIF(D:D, NOT(ISBLANK(D:D)))
这将无法正常工作:
=FILTER(D:D, "<>")
此外,如果您看一下 ISBLANK
,则此函数需要排列(在像您这样的情况下,成为 FILTER
、INDEX
或 ARRAYFORMULA
的一部分,当您使用数组)如:
=INDEX(NOT(ISBLANK(D:D)))
否则只会考虑第一个单元格。同时,如果将 COUNTIF
包装到 FILTER
、INDEX
或 ARRAYFORMULA
中,它将处理每一行的值,例如。它将以不同于预期的方式行事。还要查看 ARRAYFORMULA
下是否支持该功能,您可以像这样简单地测试它:
=ARRAYFORMULA(IS_BLANK(D:D))