自定义功能不适用于ArrayFormula

时间:2018-01-31 08:03:32

标签: google-apps-script google-sheets

我跟着帖子 https://developers.google.com/apps-script/guides/sheets/functions

function DOUBLE(input) {
    return input * 2;
}

并将非常简单的DOUBLE函数复制到我的app脚本中。

=double(A1)

工作并在'A1'中加倍我的整数 但是当我用A值填充A列时,比如

A1 = 2
A2 = 3
A3 = 4
....

在B1单元格中,我运行

=arrayformula(double(A1:A))

它返回错误“结果不是数字”,#NUM!

我不确定出了什么问题。任何app-script专家可以帮忙吗?

由于

1 个答案:

答案 0 :(得分:3)

这个答案怎么样?

  • 例如,当使用=DOUBLE(A1)时,input的{​​{1}}的值将被检索为数字或字符串(在您的情况下,它是一个数字。)
  • 例如,当使用DOUBLE(input)时,=DOUBLE(A1:B1)的{​​{1}}值将被检索为二维数组。

确认input是否为数组后需要计算。以上反映的修改如下。

来自:

DOUBLE(input)

致:

input

注意:

当使用"如果"写入上述修改的样本时和" for循环",它变为如下。

return input * 2;

如果我误解了你的问题,我很抱歉。