【问题标题】:Nesting SUMPRODUCT and SUMIF?嵌套 SUMPRODUCT 和 SUMIF?
【发布时间】:2019-03-16 00:46:09
【问题描述】:

我想在 SUMIF 公式中包含一个 SUMPRODUCT。

我正在尝试计算日期范围内特定行的两个单元格的乘积之和。

现在,我有:

=SUMIFS(A12:E12,$A$10:$E$10,">="&DATE(2018,10,1), $A$10:$E$10, "<="&DATE(2019,9,30))

它目前正在对这些日期内的部分的整行求和。我希望它对落在这些日期内的部分的整行求和,但我希望它对 A12 * A9、B12 * B9 等的乘积求和,而不是仅仅对行求和。

理想情况下应该是这样的:

=SUMIFS(SUMPRODUCT($A$9:$E$9,A12:E12),$A$10:$E$10,">="&DATE(2018,10,1), $A$10:$E$10, "<="&DATE(2019,9,30))

但这不起作用。

任何建议都会很棒,谢谢!

【问题讨论】:

  • 您的第二个公式不起作用,因为 sumproduct 给出了一个值,但 SUMIFS 函数需要一个数组。作为数组公式(用 CTRL + SHIT +ENTER 关闭)=SUMIFS(($A$9:$E$9)*(A12:E12),$A$10:$E$10,"&gt;="&amp;DATE(2018,10,1), $A$10:$E$10, "&lt;="&amp;DATE(2019,9,30)) 应该在没有 sumproduct 的情况下工作,但我没有测试它。

标签: excel excel-formula


【解决方案1】:

看起来 sumproduct 就足够了,因为它也可以带条件。

=SUMPRODUCT(($A$9:$E$9)*(A12:E12)*($A$10:$E$10>=DATE(2018,10,1))*($A$10:$E$10<=DATE(2019,9,30)))

但是如果没有您的示例数据,我无法判断这是否适用于您的数据。对于我的示例数据,如果日期介于 2 个条件之间,则前 2 个数组将相乘并求和。

【讨论】:

    【解决方案2】:

    使用带有嵌套 IF 条件的旧式数组公式。它们比尝试将强制循环处理与已经使用循环处理的函数结合起来更加通用。

    =SUM(IF($A$10:$E$10>=DATE(2018,10,1), IF($A$10:$E$10<DATE(2019,10,1), A9:E9*B12:E12)))
    

    使用 ctrl+shift+enter 完成此操作,而不仅仅是 enter。

    如果 A10:E10 中的日期持续时间值,我已修改您的小于以包括 2019 年 9 月 30 日至午夜的所有时间。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-04-11
      • 1970-01-01
      • 2015-03-14
      相关资源
      最近更新 更多