我已搜索了几个小时,无法找到以下问题的答案:
我有两张纸,蓝色和红色。
我希望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
答案 0 :(得分:0)
解决方案1
复制&糊。
在Google表格中,复制& paste会自动迭代公式。如果更改工作表,它会将引用的单元格更改为指向当前工作表;如果您在同一工作表中更改位置,它将根据您移动的列数和行数移动单元格引用。
相比之下,cut&粘贴将移动公式而不迭代单元格引用。
解决方案2
如果您要根据模板创建真正大量的工作表,并且不希望c& p一千次,则可以使用Apps Script。
特别需要
Spreadsheet App创建和访问新工作表;以及
操纵单元格的函数here。
您可以通过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脚本中的范围功能应该更有效。