【问题标题】:Excel: Adding a row disrupts formulaExcel:添加一行会破坏公式
【发布时间】:2016-02-27 15:53:10
【问题描述】:

在我用于现金管理跟踪的电子表格中,我有以下公式: =IF(D176="现金", F175+C176, IF(D176="转账", F175+C176, F175))

当我添加一行时,我使用 control+D 从上面的单元格中填写公式(我使用的是 Excel for Mac 2011)。这导致正确的公式如下: =IF(D177="现金", F176+C177, IF(D177="转账", F176+C177, F176))

但是,这会改变下一行单元格中的公式: =IF(D178="现金", F176+C178, IF(D178="转账", F176+C178, F176))

在这里您可以看到 F 列的行不正确:F176 应该是 F177。

谁能提供任何建议以确保当我插入一行时公式保持不变?

谢谢。

【问题讨论】:

  • 您是在所有现有数据下方还是在现有行之间插入行?

标签: excel formula


【解决方案1】:

将原始公式中对 F175 的所有引用(如果第 176 行)替换为 INDEX(F:F, ROW()-1)

=IF(D176="Cash", INDEX(F:F, ROW()-1)+C176, IF(D176="Transfer", INDEX(F:F, ROW()-1)+C176, INDEX(F:F, ROW()-1)))
'or better as
=INDEX(F:F, ROW()-1)+(OR(D176={"Cash", "Transfer"}*C176)

【讨论】:

  • 在您给出的第一个示例中使用 INDEX 函数似乎效果很好。第二个选项似乎对我不起作用,我不确定该怎么做才能使它起作用。并不是说它对我的问题真的很重要——只是真的很感兴趣。谢谢! NickPeranzi:我试图在其他行之间插入行,而不是在数据列的末尾。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-09-10
  • 1970-01-01
  • 2015-12-15
  • 2018-11-28
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多