gpt4 book ai didi

google-apps-script - 范围高度不正确 - Google 脚本

转载 作者:行者123 更新时间:2023-12-03 02:52:10 26 4
gpt4 key购买 nike

我正在尝试创建一个 Google 表格脚本,该脚本将获取姓名列表并将其重新发送到 Google 表格。我有两列数据,第一列包含人名。第二列包含第一个单元格中的人员邀请参加聚会的多个单元格。这会产生一个问题,第 1 列中的姓名可能位于第 2 行,但如果他们邀请 20 人,则第一列第 3-21 行有空格。现在对你们大多数人来说这可能听起来毫无意义,但我希望能够按邀请人的姓名字母顺序对表格进行排序,并且能够按客人姓名的字母顺序将其分类到单独的表格中在第 2 列中,同时仍然跟踪邀请他们的人。这是我能想到完成任务的唯一方法。

我目前一直坚持将数组写回工作表,我不断收到“范围高度不正确,为 1,但应该为 339”。我已经弄清楚如何成功获取数据数组,并完全按照我想要的方式填充,但似乎无法获取这部分。我在这里进行了搜索并尝试实现我找到的解决方案,但没有运气。

这是我到目前为止所想到的,它一直有效,直到 setValues(

 function inviteSorter() {
var sheet = SpreadsheetApp.getActiveSpreadsheet();
var current = sheet.getSheets()[0];
var lastRow = current.getLastRow();
var rangeData = current.getRange(2,1,lastRow-1,3);
var numColumns = rangeData.getNumColumns();
// Logger.log(rangeData);
var info = rangeData.getValues();
var Name = {};
// Examines the cell in the first column, if it is empty replaces it with the name from the previous cell.
for ( var i = 0; i< info.length; i++){
if (typeof(info[i][0]) == "string" && info[i][0] == ""){
Name[i] = Name[i-1];
} else{
Name[i] = info[i][0];
}

}
var data = []
for (var i = 0; i<lastRow-1; i++){
data.push(Name[i]);
}

var writeRange = current.getRange(2,1,data.length,1);

writeRange.setValues([data]);

最佳答案

您期望的值应该是一个 2D 数组,1 列多行。使用 data.push(Name[i]); 时得到的是一个简单的字符串数组。

尝试这种方式:data.push([Name[i]]);这将返回一个数组数组,并且应该满足setValues(data)的条件

(不要忘记删除最后一个 setValues 语句中的括号)

关于google-apps-script - 范围高度不正确 - Google 脚本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22160707/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com