Google apps script 自定义函数不';I don’我不能用数组来计算公式

Google apps script 自定义函数不';I don’我不能用数组来计算公式,google-apps-script,google-sheets,Google Apps Script,Google Sheets,我跟着邮局走 并将非常简单的双功能复制到我的应用程序脚本中 =double(A1) 正在工作,并在“A1”中加倍我的整数 但是当我用值填充列A时,比如 A1 = 2 A2 = 3 A3 = 4 .... 在B1牢房里,我跑步 =arrayformula(double(A1:A)) 它返回错误“结果不是一个数字”#NUM 我不知道出了什么问题。任何应用程序脚本大师都能帮上忙吗 谢谢这个答案怎么样 例如,当使用=DOUBLE(A1)时,将DOUBLE(input)的input的值检索为数字

我跟着邮局走

并将非常简单的双功能复制到我的应用程序脚本中

=double(A1)
正在工作,并在“A1”中加倍我的整数 但是当我用值填充列A时,比如

A1 = 2
A2 = 3
A3 = 4
....
在B1牢房里,我跑步

=arrayformula(double(A1:A))
它返回错误“结果不是一个数字”#NUM

我不知道出了什么问题。任何应用程序脚本大师都能帮上忙吗

谢谢

这个答案怎么样

  • 例如,当使用
    =DOUBLE(A1)
    时,将
    DOUBLE(input)
    input
    的值检索为数字或字符串(在您的情况下,它是数字)
  • 例如,当使用
    =DOUBLE(A1:B1)
    时,
    DOUBLE(input)
    input
    的值作为二维数组检索
确认
input
是否为数组后需要进行计算。上面反映的修改如下

发件人: 致: 注: 当使用“if”和“for-loop”编写上述修改的示例时,它变成如下所示

if (Array.isArray(input)) {
  var result = [];
  for (var i = 0; i < input.length; i++) {
    var temp = [];
    for (var j = 0; j < input[i].length; j++) {
      temp.push(input[i][j] * 2);
    }
    result.push(temp);
  }
  return result;
} else {
  return input * 2;
}
if(Array.isArray(输入)){
var结果=[];
对于(变量i=0;i

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

我的回答对你有用吗?如果你对我的答案还有疑问,尽管告诉我。我想学习来解决你的问题。谢谢@Tanaike,这就是我想要的@我很高兴你的问题解决了。也谢谢你。
return input * 2;
return Array.isArray(input) ? input.map(function(e){return e.map(function(f){return f * 2})}) : input * 2;
if (Array.isArray(input)) {
  var result = [];
  for (var i = 0; i < input.length; i++) {
    var temp = [];
    for (var j = 0; j < input[i].length; j++) {
      temp.push(input[i][j] * 2);
    }
    result.push(temp);
  }
  return result;
} else {
  return input * 2;
}