【发布时间】:2013-08-01 20:42:07
【问题描述】:
我正在尝试构建一个简单的脚本来使用 Google 电子表格。电子表格从 Google 表单中获取输入,因此电子表格中有一系列值,如下所示:
我的目标是编写一个脚本,在用户指定的范围内从每个表单输入中去除数字,然后将所有数字相加以提供一个分数。因此,例如,用户可以在单元格中输入=sumColumns(H2:K2),它会返回分数的总和(对于我发布的示例屏幕截图,它将返回3+3+0+3、9 的结果)。
这是我为此编写的代码:
function sumColumns(values) {
var sum = 0;
for(var i = 0; i <= values.length; i++){
var input = values[0][i];
var x = input.toString();
var y = x.charAt(0);
var num = parseInt(y);
sum += num;
}
return sum;
}
问题在于它似乎只会将两个值相加。因此,当我将=sumColumns(H2:K2) 放入电子表格的单元格中时,它只返回6。此外,在第 3 行,如果我将其从 i <= values.length 更改为 i < values.length,它只会添加一个数字,因此我会得到 3。我的猜测是我误解了将 Google 电子表格值传递给函数的方式,但我完全无法使其工作。非常感谢任何帮助!
【问题讨论】:
标签: javascript google-apps-script google-sheets google-forms custom-function