拖动INDIRECT和

时间:2015-06-02 18:13:11

标签: excel delete-row excel-indirect

我想我会带你完成我的思考,因为可能有比使用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"))

无论其

如果有一个比间接更好的解决方案,在插入或删除行时保留我的orignial公式也非常有帮助。

1 个答案:

答案 0 :(得分:2)

如果您真的只希望保护行指定不会更改行插入,那么您已将行和列都转换为静态字符串表示形式。用INDIRECT functions替换INDEX functions将允许您使用传统的 $ 创建列E绝对值,并使列J保持相对,并对引用的行进行硬编码,这样它们就不会更改行插入。

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

只是不要插入任何列,一切都应该按计划运行。

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