【问题标题】:Dragging INDIRECT and拖动 INDIRECT 和
【发布时间】:2015-06-02 18:13:10
【问题描述】:

我想我会带你了解我的想法,因为可能有比使用 INDIRECT 更好的方法来达到预期的结果,但如果没有,那么使用间接的解决方案会非常方便。

我有一个简单的公式

=SUMPRODUCT($E$10:$E20,J10:J20) 拖过大量以 CC 结尾的列

但是我发现当我插入一行时,它会将我的 10 美元和 10 美元更改为 11 美元和 11 美元,所以我在其中放置了一个间接的。

=SUMPRODUCT(INDIRECT("$E$10:$E20"),INDIRECT("J10:J20"))

我现在意识到我指的是一个字符串,如果我将它拖到右侧,单元格引用将不会更新。

所以最初我的第一个问题是如何更新这些,以便我可以将INDIRECT 拖动到右侧的列中并更新单元格引用,以便我的公式类似于或至少以相同的方式工作当拖入 K 列时等等。

=SUMPRODUCT(INDIRECT("$E$10:$E20"),INDIRECT("K10:K20"))

但是

如果在插入或删除行时有比间接方法更好的解决方案来保留我的原始公式,那也将非常有帮助。

【问题讨论】:

  • a) 你在哪里插入行? b) $E$10:$E10 应该是 $E$10:$E20(在两个地方)吗?
  • 抱歉,你完全正确,应该是 $E$10:$E$20,我的错
  • 我不确定您为什么在原始公式中使用 $E$10:$E20 而不是 $E$10:$E$20。当插入一行而第 10 行保持静态时,第 20 行是否打算扩展到第 21 行?
  • 嗨 Jeeped,我认为这是喝了太多咖啡的结果,在过去的几个小时里一直盯着 excel 不成功,我错过了 20 美元,你帮了我很大的忙,把我从开窗大案

标签: excel delete-row excel-indirect


【解决方案1】:

当您真的只想防止行名称在行插入时发生更改时,您已经将行和列都转换为静态字符串表示形式。将 INDIRECT functions 替换为 INDEX functions 将允许您使用常规的 $ 使列 E 成为绝对列,并使列 J 保持相对以及对引用的行进行硬编码,这样它们就不会在一行中更改插入。

=SUMPRODUCT((INDEX($E:$E, 10):INDEX($E:$E, 20)), (INDEX(J:J, 10):INDEX(J:J, 20)))

只要不插入任何列,一切都会按计划进行。

在相关说明中,在 INDIRECT 中将“$E$10:$E20”作为字符串引用可能有助于直观地识别其用途,但正如您所指出的,尽管拖动到新位置或文本不会改变插入行。使用 INDIRECT("E10:E20") 没有区别。

【讨论】:

  • 非常感谢,我现在去试试
  • 非常感谢,这是我在一个相当大的项目中遇到的最后一个问题(对我来说)。救生员
  • 好吧,一旦我提高了我的代表,就让你的答案变得糟糕。祝你有愉快的一天吉普车
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2018-02-02
  • 2020-10-09
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-11-07
相关资源
最近更新 更多