将 ImportRange 生成的 Google 电子表格单元格值自动传输到另一个工作表和单元格

时间:2021-01-19 08:20:01

标签: google-apps-script google-sheets spreadsheet

我有一个名为 origin 的工作表,它通过 ImportRange 显示一组数据 Col A:B 我有一张名为目的地的工作表

我想做什么:

  • 当 ImportData 更改时(在原始表中添加了一个新项目)我想复制它 项并将其粘贴到目标工作表中。

我不想发生的事情:

  • 复制目标工作表中已经存在的数据。
  • 当ImportData Origin排序时,origin表中的显示为 也变了。在这种情况下,我应该仍然能够复制数据 即使两个工作表都不存在,目标工作表中也不存在 更长的排序相同。

关于如何实现这一目标的任何想法? 非常感谢

1 个答案:

答案 0 :(得分:0)

说明:

我建议您在目标工作表中使用公式,例如:

UNIQUE(IMPORTRANGE("url", "origin!A1:B"))

这样您就可以在目标工作表中拥有 origin 工作表的唯一项目。

我建议这样做的原因是因为您正在寻找触发行为。即,当单元格中添加新值时,获取该值并将其发送到另一个电子表格。这种方法的问题在于,Google-Apps-Script 触发器不是由脚本或公式触发,而只能由用户编辑触发。换句话说,如果您的导入范围公式修改了单元格,则没有直接的 GAS 解决方案可以解决这个问题。仅存在可能有限制的解决方法,并且它们非常适合您的具体用例。

解决方法

  • 有关一些信息和参考资料,请参阅 this 主题。

  • 您可以使用 Properties Service 来存储某种绑定脚本的数据。通过这种方式,您可以创建一个 Time-driven 触发器,该触发器每 1 分钟左右运行一次,并检查原始数据是否有更改。如果添加了新值,请更新 property 并将数据发送到目标工作表。如果没有添加新数据,则什么都不做。