使用Google Scripts删除行会破坏另一个工作表中的引用

时间:2016-09-15 15:02:25

标签: javascript google-sheets

我得到了这个Google表格项目,其工作原理如下:

  1. 有人创建了一个具有唯一ID的新工作表
  2. 此表格将保存在数据库表格中,并附有所有相应的数据。
  3. 当工作表完成后,它将被关闭。当它被关闭时,脚本将查找数据库行并获取数据,并将其粘贴到已关闭的数据库中。正常数据库中存在此工作表的行将被删除。
  4. 现在出现以下问题:

    对于另一个功能,来自普通数据库的数据将导入另一个工作表,在那里它将过滤唯一ID。它被引用为=DB!A2等,但是当在步骤3结束时删除该行时,引用将停止工作。

    E.g。删除数据库中的第5行时,=DB!A5=DB!R5将从其他工作表中删除,并显示#REF

    有谁知道如何解决这个问题?

1 个答案:

答案 0 :(得分:0)

如果要在删除工作表DB中的单元格A5之后保留通过引用=DB!A5获得的值,则必须用该值替换此公式。例如,如果此公式位于Sheet1的单元格A1中,则以下操作将完成。

var cell = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("Sheet1").getRange("A1");
cell.copyTo(cell, {contentsOnly: true});

这里的重要部分是将单元格复制到自身,并选择仅保留内容(而不是公式)。这相当于在同一个单元格上按Ctrl-C然后按Ctrl-Shift-V。