冻结引用另一个单元格的公式 sheet

Freeze formula that references cell in another sheet

我在 Google 表格文档中工作,该文档有两张纸,Sheet1Sheet2Sheet2 有一个单元格 A3,公式为 =Sheet1!A3。这种模式适用于整个专栏——例如Sheet2 中的 A4 有公式 =Sheet1!A4 等。无需详细说明原因,本质上 Sheet1 中的 A 列将反映在Sheet2A 列。我的愿望是,当 Sheet1 更新时,这些更改将反映在 Sheet2.

问题是,当我 add/delete 在 Sheet1 中输入 into/from 列 A 时,Google 表格会自动更新 [=12= 中的公式] 以一种我不希望的方式。例如,假设我在 Sheet1 中的 A3 上方插入了一个单元格,因此 A3 中现在有新信息,而之前的 A3 现在向下移动到 [=16] =].当我查看 Sheet2 时,我希望 Sheet1 中的新 A3 反映在 Sheet2A3 中。但是,Sheet2A3 单元格中的公式现已更新为 =Sheet1!A4(因此 Sheet2A3 仍然显示来自 Sheet1 的原始 A3),所有后续单元格也都移动了一个。我可以看到这种自动更新功能的原因,但在这种情况下它是一个障碍。

在查找解决方案时,我发现了绝对引用,即将 A3 中的公式更改为 =Sheet1!$A,但不幸的是,这对我的情况没有帮助。

有什么方法可以防止单元格引用自动更新吗?

在 Sheet2 上使用 INDIRECT。示例

将以下公式添加到 Sheet2!A1

=INDIRECT("Sheet1!A:A")

以上不会 "affected" 通过 row/column 对工作表 1 所做的更改,因为它没有直接引用工作表 1 上的 rows/columns。

INDIRECT 的非易失性等价物可以是 INDEX。

=index(Sheet1!a:a, 3)

不幸的是,填写 index(Sheet1!a:a, 4) 等即使不是不可能也很困难。您可以使用对永远不会删除行的工作表的行引用来表示 3;例如row(sheet2!b3)。除非您在 sheet2 上 add/delete 行,同时在 sheet1 上允许 add/delete 行,否则这不应该改变。