Google apps script 使用Google脚本查找数据中的更改
我对编程和谷歌脚本是绝对陌生的,但我决心学习并获得一些乐趣。我已经找到了一些基本的方法,但却陷入了一条死胡同,我希望这个社区能帮助我克服它 我正在尝试创建一个报表生成器,它从第三方提取数据,并在Google工作表中显示数据。数据已输入并已排序,但现在我希望在每次信息更改时插入一个标题行(即报告中的几个项目发生在星期一,因此在星期一部分之前,我希望插入一个标题行,显示“星期一”) 我相信我可以正确设置标题格式,但我无法找到正确的代码来检测数据中的更改,以便插入一个空行。下面是我正在使用的代码部分。为此,meetingday变量只是一周中的天数数组(即[星期日、星期日、星期一、星期二、星期二、星期二,…)Google apps script 使用Google脚本查找数据中的更改,google-apps-script,Google Apps Script,我对编程和谷歌脚本是绝对陌生的,但我决心学习并获得一些乐趣。我已经找到了一些基本的方法,但却陷入了一条死胡同,我希望这个社区能帮助我克服它 我正在尝试创建一个报表生成器,它从第三方提取数据,并在Google工作表中显示数据。数据已输入并已排序,但现在我希望在每次信息更改时插入一个标题行(即报告中的几个项目发生在星期一,因此在星期一部分之前,我希望插入一个标题行,显示“星期一”) 我相信我可以正确设置标题格式,但我无法找到正确的代码来检测数据中的更改,以便插入一个空行。下面是我正在使用的代码部分。
var meetingday=sheet.getRange(3,7,rowindex).getValues();
对于(var i=0;i这是一个初学者代码,但对我来说很有用。这段脚本设计用于查找Google电子表格特定列中的每次数据变化。(例如,您有一张按一周中的某一天排序的事件表,您想知道周一事件组何时结束,周二事件何时开始).在我的脚本前面,我按一周中的哪一天对我的事件进行排序,然后这一点在列表中爬行以查找每个更改;我让它将该点保存到一个数组中,以便以后使用;在这种情况下,我将在每个更改处添加一个格式化的标题行。希望这能有所帮助
var meetingdays = sheet.getRange(3,7,rowindex).getValues();
var meetingdaycompare = meetingdays[0][0];
var rowarray = [[0]];
var j = 1;
for (i=0; i<meetingdays.length; i++) {
if (meetingdays[i][0]!=meetingdaycompare) {
rowarray [j] = [i];
j++;
meetingdaycompare = meetingdays[i][0];
}
}
var meetingdays=sheet.getRange(3,7,rowindex).getValues();
var meetingdaycompare=会议天数[0][0];
var rowarray=[[0]];
var j=1;
对于(i=0;i您的数据在工作表中是如何组织的?工作日是否单独在单元格中?请共享示例工作表或显示屏幕截图(或更详细地解释)@Sergeinsas感谢您的回复。这是一个指向报告前几行的链接。工作日信息本身在一个单元格中。我正在尝试检测G列中的数据何时更改,以便插入标题。看看这篇文章的答案,我使用的循环正是您所需要的:如果您有问题,请随时通知我。比ks的帮助,但我仍然被难住了。这是我的链接。我更新了我的代码,以包含数组初始值的变量,并使用该变量进行比较,但它仍然返回太多的空行。我用当前代码更新了我的原始帖子。我稍后将对此进行查看…现在没有时间。Thx用于澄清和纸张共享
var meetingdays = sheet.getRange(3,7,rowindex).getValues();
var meetingdayinitial = meetingdays[0];
for (i=0; i<meetingdays.length;i++) {
if (meetingdays[i]!=meetingdayinitial) {
Logger.log("insert blank row here");
var meetingdayinitial = meetingdays[i];
}
}
var meetingdays = sheet.getRange(3,7,rowindex).getValues();
var meetingdaycompare = meetingdays[0][0];
var rowarray = [[0]];
var j = 1;
for (i=0; i<meetingdays.length; i++) {
if (meetingdays[i][0]!=meetingdaycompare) {
rowarray [j] = [i];
j++;
meetingdaycompare = meetingdays[i][0];
}
}