【发布时间】:2015-05-30 12:01:37
【问题描述】:
我曾尝试查看以前是否有人问过这个问题,但我似乎找不到答案。
我有一列单元格(>3000 行),其值为 1 或 0(将此列称为 A)。该值将取决于 B 列中的值(将包含一个值或不包含任何内容)。 B 列中的值是基于 SUMIFS 函数的,从 C 列求和,并基于 D 列中的月份。
B 中的值在下个月的第一个工作日支付。因此,SUMIFS 函数将计算与上个月匹配的日期。这在理论上很有效,但是,并非每个第一个工作日都是该月的第一天。这导致 SUMIFS 函数不包括正确月份中的所有内容,并允许一些差异,当您处理人们的钱时,这不是很好。此外,这种差异会在多个时期内加剧(在某些情况下,有超过 100 个时期,时期 1 中 1 美元的差异相当于时期 100 中的近 1000 美元)
我想知道的是:
当 A 列中的值为 0 时,有什么方法可以告诉 SUMIFS 函数(B 列)停止?这将告诉 SUM 函数从 B 列中的当前值开始求和,并将函数继续到 B 列中前一个值下方的单元格。
我看到了 MATCH 函数可能起作用的建议,但我不知道如何使用 COUNT 或 SUM 来执行此操作。
出于安全考虑,这个解决方案需要输入到单元格中,不能是VBA。此外,它不能太大,因为它需要在工作簿中的 200 个工作表中复制(不是我最初的文件,我会以不同的方式做,但那是另一回事了)。如果需要,输入另一列或两列没有问题。
感谢任何帮助。
编辑:
很遗憾,我无法发布屏幕截图的图片。我在这里包含了一个类似的屏幕截图(列的布局不同,但希望它给出了想法):
SUMIF 公式是(对于 B2)
=SUMIFS(C2:C35,D2:D35,D2-1,A2:A35,1)
如果我想要当月的所有值,这很好用,与付款时间无关。
但是,我需要公式做的是:
SUM(C2:C35,D2:D35,D2-1,但在A2:A35遇到第一个0时停止)
谢谢
【问题讨论】:
-
请提供您的数据和预期结果的漂亮屏幕截图。总比解释你想要的十多行要好。
标签: excel count sum match sumifs