我编写了一个返回简单数组的自定义函数.(这是在多张纸上进行简单的脏3D查找).这是代码,如果它有帮助:
function get3DCellValues(startSheet, endSheet, cell) { var sheets = SpreadsheetApp.getActiveSpreadsheet().getSheets(); var sum = 0; var cellValues = []; for (var i = (startSheet); i < endSheet; i++ ) { var sheet = sheets[i]; var val = sheet.getRange(cell).getValue(); cellValues.push(val); } //Logger.log(cellValues); return cellValues; }
问题是,当我返回cellValues时,值会向列溢出.但是我希望它能够在行中向右溢出.有办法吗?谢谢.
谷歌的指南有关于返回值的自定义函数的说法:
每个自定义函数都必须返回要显示的值,例如:
如果自定义函数返回值,则该值将显示在调用函数的单元格中.如果自定义函数返回二维数组值,则只要这些单元格为空,这些值就会溢出到相邻单元格中
但这似乎对我没有帮助.
数组中的每个条目代表一行.例如,[[1,2],[3,4]]
将是两行[1,2]
和[3,4]
.
[1,2,3,4]
被解释为[[1],[2],[3],[4]]
,所以它是4行,每行一个值.
如果你只想要一行你可以写[[1,2,3,4]]
.
所以你必须像这样改变你的代码
... var cellValues = [[]]; ... cellValues[0].push(val);