【问题标题】:excel formulas - auto update SUM formula based on range, when rows added/deletedexcel 公式 - 添加/删除行时,根据范围自动更新 SUM 公式
【发布时间】:2017-01-06 23:35:06
【问题描述】:

我有一个带有 SUM 公式的工作簿(在 E15 中),它将下面 4 个单元格中输入的值相加(E16:E19)。在该列表下方(从 E20 开始)是另一个 SUM 公式,它将接下来的 4 个单元格 (E21:E24) 相加。这在整个工作簿中重复以计算一系列项目的小计,但是,我需要添加和删除行,因此要添加到每个公式的单元格总数不会总是 4。

当添加或删除新行时,如何确保 SUM 公式自行更新以包含下面输入的所有值?公式是否可以搜索下面的单元格并在到达下一个公式时停止?

例如: E15 中的公式 =SUM(E16:E19) 然后我可能想在 E16 添加三行,在中间某处删除一.. E15 中的公式现在读取 =SUM(E19:E21),但我需要它读取 =SUM(E16:E21)。

这需要自动发生,因此用户不必每次都手动修改 SUM 范围。

非常感谢任何帮助。

【问题讨论】:

  • 所以你希望它总是从公式下面的行到下一个公式?另一列中是否有共同的标题,例如“SUBTOTAL”?
  • 没错,斯科特。 SUM 公式和要添加的值都在同一列中,该列的名称(用 E5 写)是“INITIAL SUMS”。与每个 SUM 公式相邻的单元格中的通用标题(左侧一个单元格)仅显示“小计”。
  • 在您对两个答案的 cmets 中,您都说我的有效而另一个无效,但您将另一个标记为正确。这是一个错误还是我的公式中的某些内容不起作用?

标签: vba excel excel-formula


【解决方案1】:

如果您担心用户修改工作簿,您仍然可以对范围求和但保护工作表。这要容易得多,而且听起来正是您所需要的。

我不知道您的 Excel 版本,但您应该可以在“审阅”选项卡下找到它。祝你好运。

【讨论】:

  • 谢谢,但用户需要能够修改工作簿才能在每个范围内创建一组自定义行。然后需要在它们旁边输入值,然后公式会自动将该列表中的所有内容计算为小计值,工作簿的其余部分会从中计算出更多的等式。
【解决方案2】:

把这个放在E列的每个小计单元格中:

=SUM(INDEX(E:E,ROW()+1):INDEX($E:$E,ROW() + IFERROR(MATCH("Sub-total",INDEX(D:D,ROW()+1):$D1004006,0)-1,MATCH("Project Total",INDEX(D:D,ROW()+1):$D1004006,0)-1)))

它将公式下方的行的区域设置为下一次D列中的Sub-total

根据您的评论,我修改了公式,以在 D 列中包含“项目总计”一词。如果 D 列中指示 E 列中所有小计总和的值拼写不同,请更改为它是什么。

【讨论】:

  • Scott,到目前为止工作就像做梦一样,谢谢。但是我遇到了一个新问题。在工作簿的末尾(E 列)是一个公式,它将所有小计值加在一起以给出“项目总计”(E83)。正下方是取自另一个工作表的值(E84,“Variations”),然后是“Project Total inc. Variations”,其中 =SUM(E83+E84)。根据您提供的公式,我得到了 E78(最后一个小计)和 E83(项目总计)之间的循环引用。项目总计 (E83) 未显示加在一起的小计的值..?
  • @Jimbo 查看编辑。将Project Total 更改为项目总计值行的 D 列中的措辞。
  • 好的,如果在“小计”的下一个条目之前有一个带有中断(空白单元格行)的范围 - 我可以在找到第一个空白单元格时停止搜索吗?我尝试了一些自己的变体,但无济于事。
  • @Jimbo 总和将忽略空白单元格。您是否有不想包含它的原因?如果是这样:小计之间是否总是有一个空白行?
  • 该公式确实忽略了正确的空白单元格,但是工作表顶部有一个单独的“部分”,它有自己的小计。这与小计列表的其余部分由两行空白单元格隔开。我已将每个匹配公式末尾的代码从 -1 修改为 -3,这似乎有效。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2016-10-24
  • 1970-01-01
  • 2018-09-16
  • 2017-05-31
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多