【问题标题】:Google Scripts Custom Function - Array of Ranges as a Parameter谷歌脚本自定义函数 - 范围数组作为参数
【发布时间】:2017-03-16 14:26:44
【问题描述】:

我对在 Google Scripts 中创建自定义函数比较陌生。

我需要能够将范围数组传递给函数。

如果我处理不正确,请告诉我。

当我在 Google 表格中将其引用为 =ConcatEach(["A1:A2","B1:B2"],"$"])(不带引号)时出现解析错误。

(另外,值是任意的。我知道美元符号在值之前。)

无论如何,这就是我所拥有的:

 function ConcatEach(rangeString, concatString)
 {
  //var rangeString = ["A1:A2","B1:B2"];
  //var concatString = "$";

  var sheet = SpreadsheetApp.getActiveSpreadsheet();
  var rangeValues=[];
  for(i=0;i<rangeString.length;i++)
  {
    var range = sheet.getRange(rangeString[i]);
    rangeValues.push(range.getValues());
  }

  //Logger.log(rangeValues);

  for(i=0;i<rangeValues.length;i++)
  {
    for(j=0;j<rangeValues[i].length;j++)
    {
      if(rangeValues[i][j] != "")
      {
        rangeValues[i][j] = rangeValues[i][j] + concatString;
      }
    }
  }
  return rangeValues;
}

任何帮助将不胜感激!谢谢!

【问题讨论】:

    标签: javascript arrays scripting google-sheets


    【解决方案1】:

    您可以将rangeString 作为带逗号的字符串传递:

    "A1:A2,B1:B2"
    

    然后使用JavaScript String split() Method:

    var array =  rangeString.split(",");
    Logger.log(array); // you'll get array ['A1:A2', 'B1:B2']
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2020-12-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多