Google sheets CountIf向下传播行的数组公式(仅适用于列A中包含数据的行)

Google sheets CountIf向下传播行的数组公式(仅适用于列A中包含数据的行),google-sheets,formula,array-formulas,Google Sheets,Formula,Array Formulas,我是谷歌应用程序表公式的新手 在所附的图片中,我突出显示了公式,它是有效的。 我使用的公式是=COUNTIFS(D4:S4,“y”,D3:S3,“个人”) 现在,我想使用ARRAYFORMULA对第5行和第6行进行传播 我试着用下面的公式 =数组公式(如果(len(A2:A),COUNTIFS(D4:S,“y”,D3:S3,“个人”)) --更新 添加Matt提供的公式后,我得到一行的计数不匹配 --更新#2 根据Eric的建议,我在标题行中找到了一个空格 不幸的是,填充一个横向读取的CO

我是谷歌应用程序表公式的新手

在所附的图片中,我突出显示了公式,它是有效的。

我使用的公式是=COUNTIFS(D4:S4,“y”,D3:S3,“个人”)

现在,我想使用ARRAYFORMULA对第5行和第6行进行传播

我试着用下面的公式

=数组公式(如果(len(A2:A),COUNTIFS(D4:S,“y”,D3:S3,“个人”))

--更新

添加Matt提供的公式后,我得到一行的计数不匹配

--更新#2

根据Eric的建议,我在标题行中找到了一个空格

不幸的是,填充一个横向读取的COUNTIFS并不是那么简单。通常的方法是使用一个名为MMULT()的函数来完成“矩阵乘法”但是对于像这样的2d范围内的添加或计数来说是非常好的。在你的例子中,因为日期是横向的,所以我假设这张表一直在向右侧增长?一直到无限期

您可以在单元格B4中尝试此操作:

=ARRAYFORMULA(IF(A4:A="",,MMULT(N(OFFSET(D4,,,9^9,9^9)="Y"),TRANSPOSE(N(D3:3="Personal")))))

你可以看看我刚才做的这个。

你好,马特,谢谢你的回答,我正在看你的表格。但是我很困惑为什么qwerty显示的是3,而它应该是4。我猜你的一个单元格包含“y”也在后面添加了空格。你可以找到那个空格并删除它,或者按照如下方式调整Matt的公式:=ARRAYFORMULA(如果(A4:A=“”,MMULT(N(修剪(偏移量(D4,,,9^9,9^9))=“Y”)、转置(N(D3:3=“Personal”;)))宾果!Y后面没有空格,但“Personal”后面有空格谢谢Erik,我从来没有找过那个空间。我仍然支持Matt的公式,但非常感谢你的输入。