首页 > 解决方案 > countifs 沿行向下传播的数组公式(仅适用于 A 列中有数据的行)

问题描述

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

在附加的图像中,我突出显示了公式,它有效。 计数是否为 B4 单元格获取正确的值,即

我使用的公式是 =COUNTIFS(D4:S4,"y",D3:S3,"Personal")

现在我想对第 5 行和第 6 行使用 ARRAYFORMULA 来传播它。

我尝试使用以下公式

=ArrayFormula(if(len(A2:A),COUNTIFS(D4:S,"y",D3:S3,"个人"))

在此处输入图像描述

- 更新

添加马特提供的公式后,我得到一行的计数不匹配 在此处输入图像描述

--更新#2

正如埃里克所建议的,我在标题行中找到了一个空格 在此处输入图像描述

标签: google-sheetsformulaarray-formulas

解决方案


不幸的是,填充一个向下读取的 COUNTIFS 并不是那么简单。执行此操作的常用方法是使用名为 MMULT() 的函数,该函数执行“矩阵乘法”,但非常适合在这样的 2d 范围内进行加法或计数。在你的情况下,因为它的日期横盘整理,我会假设这张纸一直向右增长?一路无限期过去?

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

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

您可以查看我不久前制作的这个MMULT() 演示表


推荐阅读