Google表格:如何使自定义函数的返回值溢出到一行?

Lie*_*ong 6 javascript google-apps google-sheets google-apps-script

我编写了一个返回简单数组的自定义函数.(这是在多张纸上进行简单的脏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;
}
Run Code Online (Sandbox Code Playgroud)

问题是,当我返回cellValues时,值会向列溢出.但是我希望它能够在行中向右溢出.有办法吗?谢谢.

谷歌的指南有关于返回值的自定义函数的说法:

每个自定义函数都必须返回要显示的值,例如:

如果自定义函数返回值,则该值将显示在调用函数的单元格中.如果自定义函数返回二维数组值,则只要这些单元格为空,这些值就会溢出到相邻单元格中

但这似乎对我没有帮助.

Spi*_*Pig 8

数组中的每个条目代表一行.例如,[[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);
Run Code Online (Sandbox Code Playgroud)