如何引用包含未锁定到此工作表的引用单元格的其他工作表中的单元格?

时间:2018-03-01 19:01:44

标签: google-sheets spreadsheet

我已搜索了几个小时,无法找到以下问题的答案:

我有两张纸,蓝色和红色。

我希望Blue!A1成为"确切地说"像Red!A1但我发现这个问题: 红色!A1包含" B1 + B2"两者都是红色的细胞。 但是,当我写Blue!A1时,这样:" = Red!A1",返回值类似于" = Red!B1 + Red!B2",而不是&# 34; = CurrentSheet!B1 + CurrentSheet!B2"

我的问题是我不能在红色表中引用蓝色表​​,因为我想要以相同方式引用红色的几十张表,所以当我用红色改变A1时,我改变了所有其他表'' A1因此具有它们各自的B1和B2,而不是红色的B1和B2。

我希望在工作表中有一个单元格,可以被任何其他单元格中的任何其他单元格引用,就像它在第一时间一样。

例如,如果我在一个工作表中有一个包含= B1 + B2的单元格,我想在另一个工作表中引用它,新的= B1 + B2引用当前工作表的B1和B2细胞而不是前一个细胞。

有人可以帮我解决这个问题吗?

提前谢谢

Alexandre Trajano

1 个答案:

答案 0 :(得分:0)

解决方案1 ​​

复制&糊。

在Google表格中,复制& paste会自动迭代公式。如果更改工作表,它会将引用的单元格更改为指向当前工作表;如果您在同一工作表中更改位置,它将根据您移动的列数和行数移动单元格引用。

相比之下,cut&粘贴将移动公式而不迭代单元格引用。

解决方案2

如果您要根据模板创建真正大量的工作表,并且不希望c& p一千次,则可以使用Apps Script

特别需要

您可以通过Apps Script输入公式作为字符串。

例如,假设您希望单元格A1在名为“Sheet1”的选项卡中具有公式B1 + C1。您可以执行以下操作。

var sheet = SpreadsheetApp.getActiveSpreadsheet();
var tab = sheet.getSheetByName('Sheet1');
sheet.setActiveSheet(tab);
var cell = tab.getRange(1, 1); // The arguments are the row and column indices of A1, respectively.
cell.setValue('=B1+C1');

您可以使用基本模板执行许多操作。您可以根据某些命名约定生成工作表。您可以根据单元格位置生成公式。如果选项卡的名称遵循特定规则,则可以创建在创建选项卡时填充公式的脚本。等等。当然,您可以从一张纸上复制公式。您需要getFormula()而不是getValue

注意:你也可以打电话 自定义Apps脚本功能直接在工作表中使用自定义函数的输出编写单元格。但在您的情况下,使用Apps脚本中的范围功能应该更有效。