所需的输出: 每个月的总费用。
输入: 一个或多个项目。对于每个项目都有:
我使用SUMPRODUCT相当远,请参阅下面的示例。
=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
)。我的所有试验都导致错误或计算时间过长。
感谢任何帮助。
答案 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列中的最后一行,其中包含日期。