在 Excel 中插入单元格而不更新相邻公式

在 Excel 中插入单元格而不更新相邻公式

有时我会通过在 Excel 中并排粘贴两个数据集并在中间使用公式来直观地比较它们=A1=C1。这将根据单元格是否完全匹配返回 true 或 false。当数据集缺少记录时,我可以通过简单地插入一个新单元格并将现有单元格向下移动来使它们重新对齐。但是,当我执行此操作时,它会更新公式以将引用单元格向下移动我插入的单元格数量,如下所示:

Excel 问题

这会导致问题,因为每次发生这种情况时,我都必须重新执行中间的所有公式。对于较长的数据集,这会变得非常繁琐。有没有办法“锁定”比较列中的公式,这样它就不会在意我插入或删除单元格,它们将始终指向我设置的原始单元格?

顺便说一句,我知道 $A$1 会锁定引用,但这仅在您移动该单元格而不是移动引用单元格时才有效。如果您将其放在顶部并将它们向下拖动,则无论您将其拖到哪一行,它们都将保持为 $A$1(此外,在引用列中插入单元格后,它仍会进行更新)。

答案1

如果我理解了你的问题,我认为这可能会有效:

=OFFSET($B$1,ROW()-1,-1)=OFFSET($B$1,ROW()-1,1)

其中 B1 是公式的任意锚点,并且您始终计算比较两侧单元格的偏移量。

答案2

无需插入单元格,您可以复制要下移的单元格,然后使用选择性粘贴值将它们放在所需位置。换句话说,移动值而不是单元格将阻止公式调整。

答案3

我将一组数据放在 A 列,将另一组数据放在 B 列。然后,我将下面的公式粘贴到 C 列的每个单元格中。该ROW()函数返回当前行号,因此您可以在 A 列或 B 列中插入/删除数据,而无需粘贴和重​​新粘贴公式。您可以将公式粘贴到任何列中,它仍然有效 - 比较所在行中的 A 列和 B 列。

=IF(INDIRECT(ADDRESS(ROW(),1)) = INDIRECT(ADDRESS(ROW(),2)), "ok", "***diff***")

我确实同意——我希望有某种方法可以告诉 Excel 在您在列中插入和删除数据时不要更改公式。

相关内容