如何触发参考值从单元格中的另一个工作表更改? [Google工作表脚本]

时间:2019-07-01 11:18:49

标签: google-apps-script google-sheets

是否可以在单元格中触发值更改,其中该值是来自其他工作表的引用?

使用onEdit(),我只是获得了所引用单元格的单元格。

例如:

表单A,单元格A1,值是:=SheetB!A2(来自另一张表单)

我现在如何触发单元格A1中的新值?

1 个答案:

答案 0 :(得分:0)

您必须调用另一个工作表,例如:

var sheet1 = SpreadsheetApp.openById(“id of your main sheet”);
var sheet2 = SpreadsheetApp.openById(“id of the other sheet);

var valueA2 = sheet2.getRange(“A2”).getValue();
var valueA1 = sheet1.getRange(“A1”).setValue(valueA2);

由于A1值为=SheetB!A2,因此我假设两个工作表共享相同的ID。除非您在条件中指定工作表的名称,否则onEdit()函数可在整个工作表上使用。问题是,如果SheetA的A1值从SheetB获得更新,则您想触发一个事件,因为您已经在编辑SheetB,所以这是多余的,因此onEdit()函数将忽略正在更新的SheetA。除非在更新SheetA时要执行非常特定的操作,否则应该在SheetB A2单元更新时触发事件。