我有一个单元格区域,它引用了另一个工作表上的另一个单元格区域。出于我们今天的目的,我们假设$C1:$C10引用了$A1:$A10。现在,从理论上讲,所有放入A1的东西都应该归C1,而放入A2的东西都归C2。这部分运行得很好。
如果我想重新排序A1:A10中的列表,我会遇到一个问题。如果剪切并将A10插入到A1中,所有数据都会向下移动,所有数据仍然在A1:A10之间,但C1:C10中没有任何变化,除了现在C10引用了A1。我已经更改了引用类型($A$1、$A1和A$1),但没有成功。
我本质上想要在A1:A10中自由移动或替换数据,并让C1:C10自动更新。
发布于 2019-10-03 22:09:01
是的,Excel的设计就是这么做的。
当您移动单元格时,您不仅移动了该单元格的内容,还移动了整个容器-值、格式设置、数据验证、引用以及所有内容。
当这是你需要的时候,这是非常有用的。当它不是有用的时候,它就不那么有用了。
要解决此问题,您需要删除对该单元格的直接引用。
您可以通过多种方式完成此操作。
例如,您可以使用INDIRECT,但是,我建议您不要使用它,因为它是一个易失性公式,并且每次单元格发生变化时都会重新计算。如果你有很多这样的东西,它会很快减慢你的工作簿的速度。
@BigBen关于使用INDEX的建议可能是最好的:
=INDEX($A$1:$A$10,ROW())请注意,如果一次移动整个范围,对$A$1:$A$10的引用仍将更新。
https://stackoverflow.com/questions/58220204
复制相似问题