【问题标题】:A dynamic sum formula - Excel动态求和公式 - Excel
【发布时间】:2019-01-02 22:02:15
【问题描述】:

伙计们,我正在尝试编写一个动态求和公式,其中数组范围从截止日期开始(该日期每个月都会更改)。

A2 中的第一行 201801 中有句点,B2 中的 201802 等。 从A3 开始,我有销售数据。

例如截止日期是201806,所以我需要我的求和公式为=sum($F3:L3)

我想做的是=sum(ADDRESS(3,MATCH($B$1,$A$2:$L$2,0),3):L3)

ADDRESS(3,MATCH($B$1,$A$2:$L$2,0),3) 返回$F3,这在求和公式中不起作用!

【问题讨论】:

  • 您只需要 INDIRECT 转换为范围 ref =SUM(INDIRECT(ADDRESS(3,MATCH($B$1,$A$2:$L$2,0),3) &":L3"))
  • 非常感谢

标签: excel


【解决方案1】:

INDIRECTvolatile 所以可能不是最好的函数。

我认为L3 是静态的,您希望从查找值求和到L3

  • MATCH(201806,$2:$2,0) 将返回 201806 第一次出现的列号。
  • INDEX($3:$3,,6):$L$3 将返回对 F$3:$L$3 的引用(F 是第六列 - 将 6 替换为 MATCH 函数)。
  • SUM(F$3:$L$3) 加起来。将F$3:$L$3 替换为INDEX

最终的公式是:

=SUM(INDEX($3:$3,,MATCH(201806,$2:$2,0)):$L$3)  

201806 替换为范围引用。

如果结束日期是可变的,您可以使用另一个 INDEX 函数来查找它。
这使用MAX 函数查找最后日期:

=SUM(INDEX($3:$3,,MATCH(201806,$2:$2,0)):INDEX($3:$3,,MATCH(MAX($2:$2),$2:$2,0)))  

这是从六月到十二月添加的:

=SUM(INDEX($3:$3,,MATCH(201806,$2:$2,0)):INDEX($3:$3,,MATCH(201812,$2:$2,0)))

【讨论】:

  • 非常感谢!
猜你喜欢
  • 2011-12-06
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多