首页 > 解决方案 > Google Sheet SUMIF 数组公式不起作用

问题描述

在我的工作表中,我想计算达到某个值之前的天数。我正在使用这个公式。 https://infoinspired.com/google-docs/spreadsheet/target-sum-reached-row-in-google-sheets/

对于几个例子,它没有问题,但这次我得到了错误的值...... :(

在我的示例中: https ://docs.google.com/spreadsheets/d/1MYYNZB94RdF21hg60-mERCy2hP48c8IhkprV-LBvZrs/edit?usp=sharing

在“这里”选项卡中,我想对单元格 F2:F315 求和,直到第一次达到值 120000(单元格 J9)。输出应该是“天”或单元格的总和。

作为输出,我得到 265,即使它应该是 191 左右。

=countif(ArrayFormula(sumif(row(A2:A315),"<="&row(A2:A315),F2:F315)),"<="&J9)

为了仔细检查,我制作了一个辅助列,在 H 列中添加了收入(F 列)。根据这个辅助列,第一次达到 >120000 是在 H193

我只是不明白......也许我脑子里有逻辑错误?

标签: arraysdategoogle-sheetssumarray-formulas

解决方案


除非我误解了这个问题,否则我认为这个相当简单的公式应该很快就能完成......对于实际日期:

=MIN(FILTER(A2:A,SUMIF(ROW(F2:F),"<="&ROW(F2:F),F2:F)>=J9))

对于天数:

=MIN(FILTER(A2:A,SUMIF(ROW(F2:F),"<="&ROW(F2:F),F2:F)>=J9))-A2+1

推荐阅读