带有需求和不确定列表的Excel Sumproduct(整列)

时间:2016-06-12 23:47:05

标签: excel finance sumifs

所需的输出: 每个月的总费用。

输入: 一个或多个项目。对于每个项目都有:

  1. 开始月份
  2. 月内间隔
  3. 费用
  4. 'active-inactive'flag
  5. 我使用SUMPRODUCT相当远,请参阅下面的示例。

    Example

    =SUMPRODUCT(--($I$2:$I$6="x");--(MOD(MONTH(O2)-MONTH($M$2:$M$6);$L$2:$L$6)=0);$K$2:$K$6)
    

    其中:

    • $I$2:$I$6 - >项目的“活动 - 非活动”标志
    • O2 - >计算总费用的月份
    • $M$2:$M$6 - >项目的“开始月份”
    • $L$2:$L$6 - > “项目间隔数”
    • $K$2:$K$6 - > '物品成本

    问题: 该公式仅适用于定义的范围($I$2:$I$6)。但是,我希望公式适用于任何数量的项目而不调整范围($I:$I)。我的所有试验都导致错误或计算时间过长。

    感谢任何帮助。

1 个答案:

答案 0 :(得分:0)

您想使用以下内容查找包含数据的最后一行:

=INDEX($M:$M;MATCH(1e99;$M:$M))

这将找到M列中的最后一行,并使用它来设置该列中的最后一个单元格。

因此,在我们的公式中添加:

=SUMPRODUCT(($I$2:INDEX($I:$I;MATCH(1e99;$M:$M))="x")*(MOD(MONTH(O2)-MONTH($M$2:INDEX($M:$M;MATCH(1e99;$M:$M)));$L$2:INDEX($L:$L;MATCH(1e99;$M:$M)))=0)*$K$2:INDEX($K:$K;MATCH(1e99;$M:$M)))

现在数据集大小是动态的,基于M列中的最后一行,其中包含日期。