为什么不能在自定义函数中使用setValue?

时间:2013-09-24 23:06:45

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

我真的很好奇,但有谁知道为什么你不能使用setValue在自定义函数中的不同单元格中写入?

自述文件解释说你不能这样做,但没有给出原因: link

  

自定义函数返回值,但它们不能在它们所在的单元格之外设置值。在大多数情况下,自定义函数在   单元格A1不能修改单元格A5。但是,如果自定义函数返回一个   双数组,结果溢出包含该函数的单元格   并填充包含该细胞的细胞的下方和右侧的细胞   自定义功能。您可以使用包含的自定义函数对此进行测试   返回[[1,2],[3,4]];。

任何人都知道这是否有充分理由?

1 个答案:

答案 0 :(得分:2)

我认为这是合乎逻辑的。当您在单元格中调用自定义函数时,比如A1,您希望函数执行计算(或其他)并将结果放在A1中。如果要在B1中查看结果,可以在B1中编写相同的公式。

正如文档所解释的那样,在某些情况下,您可能希望函数返回多个值,在这种情况下,返回2D数组将填充与调用公式的单元格相邻的单元格。

在任何情况下,您是否可以使用自定义函数给出您想要填充不同单元格的用例。您始终可以使用其他时尚(而不是公式)调用脚本,并让它修改您想要的任何单元格。