Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/google-sheets/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Google sheets 谷歌电子表格:ArrayFormula和Filter_Google Sheets - Fatal编程技术网

Google sheets 谷歌电子表格:ArrayFormula和Filter

Google sheets 谷歌电子表格:ArrayFormula和Filter,google-sheets,Google Sheets,我意识到这个标题有很多问题,但我不明白它们的答案,或者它与我的问题没有直接关系 我试图避免手动“拖动”公式来为每一行复制它 公式是这样的 =IF(ISBLANK(A6), "", COUNT(FILTER(Data!C$2:C, Data!A$2:A = A6, Data!B$2:B >= B$2, Data!B$2:B <= B$3,

我意识到这个标题有很多问题,但我不明白它们的答案,或者它与我的问题没有直接关系

我试图避免手动“拖动”公式来为每一行复制它

公式是这样的

=IF(ISBLANK(A6), 
    "", 
    COUNT(FILTER(Data!C$2:C, 
                 Data!A$2:A = A6, 
                 Data!B$2:B >= B$2, 
                 Data!B$2:B <= B$3, 
                 Data!C$2:C >= E$3, 
                 Data!C$2:C <= E$2)))
其中
A6:A
似乎对
A
列中的每个单元格都正确求值。但是,
数据
表中的范围似乎也计算为单个值,而不是范围


我是否遗漏了一些东西,或者我不明白
ARRAYFORMULA
是如何工作的?

过滤器本身就是一个ARRAYFORMULA→ 它不能用于其他数组公式,因为工作表无法处理数组数组

变通办法 您正在查找
countifs
arrayFormula,该公式通过
mmult
求解:


=arrayformula(转置)(MMULT)(转置((数据!B$2:B>=B2)*(数据!B$2:B=B2)*)(数据!B$2:B
过滤器
本身就是一个arrayformula→ 它不能用于其他数组公式,因为工作表无法处理数组数组

变通办法 您正在查找
countifs
arrayFormula,该公式通过
mmult
求解:


=arrayformula(转置(MMULT)(转置)(数据!B$2:B>=B2)*(数据!B$2:B=B2)*(数据!B$2:Bun幸运的是,这似乎不起作用。与您的类似:不幸的是,这似乎不起作用。与您的类似:“--”起什么作用?它是必需的?它让人想起SQL注释。
--
将布尔真/假转换为1/0。
mmult
函数使用数字,而不是布尔值。另一种方法是mul按1(
*1
)或加0(
+1
)做什么?“--”是必需的?这让人想起SQL注释。
--
将布尔真/假转换为1/0。
mmult
函数使用数字,而不是布尔值。另一种方法是乘以1(
*1
)或加0(
+1
=ARRAYFORMULA(IF(ISBLANK(A6:A), 
              "", 
              COUNT(FILTER(Data!C$2:C, 
                           Data!A$2:A = A6:A, 
                           Data!B$2:B >= B$2, 
                           Data!B$2:B <= B$3, 
                           Data!C$2:C >= E$3,
                           Data!C$2:C <= E$2))))