拖动INDIRECT和
我想我会带你通过我的想法,因为可能有一个更好的办法比使用间接达到预期的结果,但如果不是那么间接解决scheme将非常方便。
我有一个简单的公式
=SUMPRODUCT($E$10:$E20,J10:J20)
横跨大量列结束在CC的某处
然而,当我插入一行时,我发现它会改变我的10和10美元到11和11美元,所以我放在那里间接。
=SUMPRODUCT(INDIRECT("$E$10:$E20"),INDIRECT("J10:J20"))
我现在意识到,我指的是一个string,如果我把它拖到右边,单元格引用将不会更新。
所以最初我的第一个问题是我怎样才能更新这些,这样我就可以将INDIRECT
拖到右边的列上,并更新单元格引用,这样我的公式就会像拖动到列K中一样,或者至less以相同的方式工作等等。
=SUMPRODUCT(INDIRECT("$E$10:$E20"),INDIRECT("K10:K20"))
然而
如果有一个比间接更好的解决scheme,当插入或删除行时,保留我的重要公式也是非常有用的。
如果您只想防止行指定在行插入上更改,则您已将行和列都转换为静态string表示forms。 使用INDEX函数replaceINDIRECT函数将允许您使用传统的$使绝对列E,并留下J相对以及硬编码引用的行,以便他们不会更改行插入。
=SUMPRODUCT((INDEX($E:$E, 10):INDEX($E:$E, 20)), (INDEX(J:J, 10):INDEX(J:J, 20)))
只是不要插入任何列,一切都应按计划进行。
在相关说明中,在INDIRECT中引用“$ E $ 10:$ E20”作为string可能有助于直观地确定其用途,但是如您所知,即使拖动到新位置或插入行,文本也不会改变。 如果使用INDIRECT(“E10:E20”),则没有区别。