gpt4 book ai didi

javascript - 将范围发送到自定义函数

转载 作者:行者123 更新时间:2023-11-30 17:01:58 26 4
gpt4 key购买 nike

我在谷歌数据表中做一个自定义函数。我这样调用函数:

=foo(A1:A3)

函数声明为:

function foo(input) {
return input.length
}

它返回 1。有什么问题吗?我必须做什么才能返回 input 范围的长度?

最佳答案

来自 the documentation :

If you call your function with a reference to a range of cells as an argument (like =DOUBLE(A1:B10)), the argument will be a two-dimensional array of the cells' values. For example, in the screenshot below, the arguments in =DOUBLE(A1:B2) are interpreted by Apps Script as double([[1,3],[2,4]]).

Picture from Google Documentation

所以您看到的是 1,因为您的范围内只有一行。要查看该行中有多少个单元格:

function foo(input) {
return input[0].length;
}

...这应该给你 3,因为传递给你的函数的数组应该是这样的:

[valueOfA1, valueOfA2, valueOfA3]

我不知道在 Google 电子表格中是否可以使用空范围,但如果可以,您可能需要添加一个保护:

function foo(input) {
return input && input[0] && input[0].length;
}

关于javascript - 将范围发送到自定义函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28673365/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com