Javascript GoogleSheets:如何使自定义函数的返回值溢出到一行中?

Javascript GoogleSheets:如何使自定义函数的返回值溢出到一行中?,javascript,google-apps-script,google-sheets,google-apps,Javascript,Google Apps Script,Google Sheets,Google Apps,我已经编写了一个自定义函数,它返回一个简单数组。(这是对多张图纸的简单脏3D查找)。以下是代码(如果有帮助): function get3DCellValues(startSheet, endSheet, cell) { var sheets = SpreadsheetApp.getActiveSpreadsheet().getSheets(); var sum = 0; var cellValues = []; for (var i = (startSheet); i < endShee

我已经编写了一个自定义函数,它返回一个简单数组。(这是对多张图纸的简单脏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;
}
函数get3DCellValues(起始页、结束页、单元格){
var sheets=SpreadsheetApp.getActiveSpreadsheet().getSheets();
var总和=0;
var-cellValues=[];
对于(变量i=(起始表);i<结束表;i++){
var表=表[i];
var val=sheet.getRange(cell.getValue();
推送(val);
}
//Logger.log(单元格值);
返回单元格值;
}
问题是当我返回cellValues时,值会沿着列溢出。但我想让它在这一行中向右溢出。有没有办法做到这一点?多谢各位

谷歌对返回值的自定义函数有这样的说法:

每个自定义函数必须返回一个要显示的值,以便:

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


但这似乎对我没有帮助。

数组中的每个条目代表一行。 e、 g.
[[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);

蜘蛛猪非常清楚的回答对我帮助很大

如果您总是只想返回一行,那么您也可以将代码编写为

...
var cellValues = [];
...
cellValues.push(val);
...
return [cellValues];

这将返回一个数组,其中包含您的cellValues数组作为其第一个也是唯一的条目

谢谢!完美答案。我不知道数组项的这种行为。