excel count / sum stop count / sum match?

我试图看看这个问题以前是否被问过,但我似乎无法find答案。

我有一列单元格(> 3000行),值为1或0(称为此列A)。 该值将取决于列B中的值(其将包含值或不包含)。 B列中的值是一个SUMIFS函数,基于列C加总,并基于D列中的月份。

B中的值在下个月的第一个工作日支付。 所以,SUMIFS函数将计算与上个月相匹配的date。 这在理论上是行得通的,但是,并不是每个第一个工作日都是这个月的第一天。 这导致SUMIFS函数不包括正确月份中的所有内容,并允许有一些差异,当你处理人们的钱时并不是很好。 此外,这种差异在多个时期之间是复合的(有些情况下,有100多个时期,1期间1美元的差异在100期间达到近1000美元)

我想知道的是:

有没有什么办法可以告诉SUMIFS函数(B列)当列A中的值为0时停止? 这将告诉SUM函数从列B中的当前值开始求和,并将该函数继续到列B中之前的值之下的单元格。

我已经看到了MATCH函数可能工作的build议,但是我看不到如何用COUNT或SUM来完成这项工作。

出于安全原因,此解决scheme需要input到单元格中,并且不能是VBA。 此外,它不能太大,因为它将需要在工作簿中的200个工作表中复制(原本不是我的文件,而且我会以不同的方式做,但这是另一回事)。 如果需要的话,input另一列或两列是没有问题的。

感激不尽的帮助。

编辑:

不幸的是,我无法发布截图的图像。 我已经包括一个类似的截图(列不是相同的布局,但希望它提供了这个想法)在这里:

费率计算

SUMIF公式是(对于B2)

= SUMIFS(C2:C35,D2:D35,D2-1,A2:A35,1)

这个工作正常,如果我想在月份的所有值,与付款时无关。

但是,我需要的公式是:

SUM(C2:C35,D2:D35,D2-1,但在A2:A35中遇到前0时停止)

谢谢

INDEX函数可以提供有效的单元格引用,以停止使用MATCH函数在0上查找完全匹配。

这个公式是有点猜测,因为没有样本数据可以参考,但我相信我已经理解了你的参数。

=SUMIFS(C2:index(C2:C35, match(0, A2:A35, 0)), D2:index(D2:D35, match(0, A2:A35, 0)), D2-1) 

这似乎是独立的,而不是被填充的东西,所以我已经离开了单元格地址相对于您的样本(S)。