3

我正在尝试使用脚本编辑器在我的谷歌电子表格中创建一个自定义函数。

我似乎不允许用户给函数一个数组作为参数。

当我像这样硬编码时,我的脚本可以工作:

    var values = SpreadsheetApp.getActiveSheet().getRange("G2:j30").getValues();

我想要做的是将数组作为参数传递:

   function arrayToList(chosenArray) {
        ...
        var values = SpreadsheetApp.getActiveSheet().getRange(chosenArray).getValues();
        ...
   }
4

3 回答 3

2

Now this functionality is not implemented in GAS. There are similar questions in SO (here and here). You can post a feature request to the issue tracker.

于 2012-09-24T14:32:30.873 回答
1

Riku - 您是否尝试将您的函数称为 arrayToList(G2:j30)?我相信 Apps 脚本会将所选范围转换为逗号分隔的字符串(向左 -> 向右,然后从上到下)。

它与 Range 对象不同,但至少您可以获得所选范围的 CSV 字符串表示形式,也许这就足够了?

于 2012-09-24T14:40:47.247 回答
1

有两种方法可以将数组作为参数传递给 Google 表格自定义函数

  1. 通过使用范围引用,例如A1:D5. 用法:=myCustomFunction(A1:D5)
  2. 通过使用 Google 表格数组表示法,例如{1,2;"Yellow","Orange"}. 用法:=myCustomFunction({1,2;"Yellow","Orange"})。注意:如果您的电子表格设置为使用逗号作为小数分隔符,请使用/作为列分隔符

参考

于 2019-06-17T16:28:12.167 回答