【问题标题】:excel count/sum stop count/sum match?excel计数/总和停止计数/总和匹配?
【发布时间】: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 个工作表中复制(不是我最初的文件,我会以不同的方式做,但那是另一回事了)。如果需要,输入另一列或两列没有问题。

感谢任何帮助。

编辑:

很遗憾,我无法发布屏幕截图的图片。我在这里包含了一个类似的屏幕截图(列的布局不同,但希望它给出了想法):

Rates calculations

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


【解决方案1】:

INDEX function 可以提供有效的单元格引用来停止使用MATCH function0 上查找完全匹配。

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

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

这似乎是一个独立的东西,不会被填写,所以我根据您的样本保留了相对的单元格地址。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-08-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多