Google apps script 如何在Google Apps脚本(GAS)中高效地输出到非连续范围
我不熟悉谷歌脚本,所以感谢你的帮助 以下是我的数据(3个非连续记录,4个非连续字段): 我有一个项目数组,每个项目是一个包含4个键的对象。我想以尽可能少的SetValue请求输出到googlesheets。如果我不能在一次调用中完成,那么一次输出每个项目是最合乎逻辑的 我的想法是,我可以为跨越整个列的字段1和字段4创建范围。然后我可以创建跨越整个项目行的范围。一旦我组装了一个由2个值组成的数组,那么2之间的交集就是我想要输出到的范围 或者,假设我知道下面每个单元格的行/列,我可以返回范围并使用范围的并集来创建映射 但在天然气中是否有一个函数可以进行交叉或联合呢?还是我最好一个一个地输出每个单元格Google apps script 如何在Google Apps脚本(GAS)中高效地输出到非连续范围,google-apps-script,Google Apps Script,我不熟悉谷歌脚本,所以感谢你的帮助 以下是我的数据(3个非连续记录,4个非连续字段): 我有一个项目数组,每个项目是一个包含4个键的对象。我想以尽可能少的SetValue请求输出到googlesheets。如果我不能在一次调用中完成,那么一次输出每个项目是最合乎逻辑的 我的想法是,我可以为跨越整个列的字段1和字段4创建范围。然后我可以创建跨越整个项目行的范围。一旦我组装了一个由2个值组成的数组,那么2之间的交集就是我想要输出到的范围 或者,假设我知道下面每个单元格的行/列,我可以返回范围并使用
谢谢你的帮助 没有这样的功能。它要么是一个接一个的,要么是连续的单元格 但是有很多技巧/选择可能对你有用。正如Sandy在评论中指出的,您可以获得一个包含所有必需单元格的连续区域,并将非必需单元格设置为空白或其原始值。这有不适用于公式的缺点 您还可以使用简单的公式“指向”连续范围预先配置所需的单元格。这将是一次简单的批量更新 如果确实需要批量设置,您还可以获取大范围的所有值和公式,并将所有普通值转换为它们的等效公式,例如
abc
变成=“abc”
和1/1/2015
=DATE(2015,1,1)
(是的,这很麻烦)然后使用setFormulas设置所有内容,包括原始公式和转换为公式的值。在您不想更改的单元格中不进行实际内容更改,并更改所需内容,这一切都在一次批量操作中完成
不管怎么说,这些只是权宜之计。正如第一句所说,这是不可能的,句号。您可能希望在应用程序脚本问题跟踪器中启动,为该功能投票并接收更新。GAS使用JavaScript。JavaScript可以对数组和对象做什么,GAS都可以。
SpreadsheetApp
服务使用二维数组读取和写入数据。您所需要做的就是在内部数组中为要留空的单元格设置空白元素。或者,您可以获取所有原始数据,然后只需将所需的更改注入二维数组,并将其写回电子表格。因此,对电子表格的写入可以使用该策略进行一次调用。如果中间的单元格不是空的,实际上是链接/公式,那么这可能是个问题。也许你可以编写一些代码并进行测试。