我试图将COUNTIFS重新构建为Google脚本自定义函数并且遇到一件事:如何构建一个接受任意数量参数的函数?
如果您在Google工作表中使用COUNTIFS,则输入如下所示:
=COUNTIFS(criteria_range1, criterion1, [criteria_range2, criterion2, ...])
我的Google脚本可以是:
function COUNTIFS(criteria_range1, criterion1){
// CountIFS code
}
...但是如何在我的函数中获取可选参数?
答案 0 :(得分:5)
当传递给函数的参数数量可变时,您可以引用arguments object。
答案 1 :(得分:2)
(支持AdamL答案的例子。)
自定义函数的自动完成功能会稍微滥用jsdoc标记。 “参数类型”,通常用括号括起来,例如{String}
,在函数帮助的“示例”部分中逐字使用,而参数名称在快速帮助中使用。
您可以利用此功能来阐明具有任意参数的函数,如下所示。
<强>代码强>
/**
* Calculate the driving distance along a route.
*
* @param {"london","manchester","liverpool"}
* route Comma separated ordered list of two or more map
* waypoints to include in route. First point
* is 'origin', last is 'destination'.
*
* @customfunction
*/
function drivingDistance(route) {
if (arguments.length < 2) throw new Error( "Must have at least 2 waypoints." )
var origin = arguments[0];
var destination = arguments[arguments.length-1];
...