我试图在google sheets中创建一个自定义函数,该函数将垂直复制给定次数的一系列值:
因此,当应用repeat(a1:a4,3)时,它会垂直粘贴a1 3次、a2 3次、a3 3次和a4 3次。
我的尝试似乎很有效,正确显示了结果,但它给出了一个我不理解的错误。
function repeat(range,number){
var result = [];
const l = range.length;
for (var i=0;i<len<i++)
for(var j=0;j<number;j++)
result.push(range[i])
return result;
}
应用程序脚本显示的错误是:“typeerror:无法读取未定义的属性'length'”,表示第3行。请随时指导我如何使用该属性,以及是否有更简单/更好的选项,因为我是应用程序脚本和js的初学者。
1条答案
按热度按时间gupuwyp21#
您说您正在使用它作为自定义函数,因此您的范围实际上是一个二维值数组,而不是类范围。在文档中查找自定义函数。
如果将此代码插入排列中:
这样=重复101(a1:a4,3)
其中a1:a4看起来像这样:
1234
然后查看您的执行日志,您会发现:
执行日志:2021年7月9日下午2:08:58信息[[1]、[2]、[3]、[4]]
如果您熟悉使用调试器,您会立即将其识别为二维列数组