使用 Libre Office 6.3.0.4、Linux Mint 19.2、Flatpak 版本。
我有一个简单的函数,需要有一个静态行:=K15-G$2
。不确定错误何时开始发生,但在我在第 #2 行上方插入 (3) 行后,函数更改为=K15-G$5
.如果我复制/移动此函数,原始值将保持预期状态。我尝试将其修改为 read =K15-$G$2
,但这没有什么区别。
在这种情况下,如何才能使绝对单元格引用发挥作用?
答案1
localc
正在按照记录的方式工作(并且应该如此,并且自维西卡尔)。
这是一个功能,而不是一个错误。
您的公式引用了 cell G$2
。您插入的行移动G$2
到,G$5
因此localc
将对旧位置的所有引用更新G$2
到新位置G$5
,保留对相同数据的引用。
简而言之:单元格已移动,因此必须更新对它的所有引用以匹配其新位置。
无论引用是相对的还是绝对的,都需要发生这种情况 - 重要的是引用所指向的数据。
如果不这样做,则每次插入或删除列或行时,引用由于该操作而移动的任何单元格的每个公式都将被损坏,因为它会指向错误的数据。
当你切并将单元格从一个位置粘贴到另一个位置 - 如果有任何公式引用它,它们将被更新以引用新位置。这允许您将一个或多个单元格移动到工作表上的不同位置,甚至移动到一个全新的工作表。
顺便说一句,如果你插入了行以下 G$2
那么G$2
会不是已被移动,无需更新任何对它的引用。当您需要在表中的两个现有行之间插入一行或多行时,这种情况经常发生。或者当您对表中的数据进行排序时。