Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/google-apps-script/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Google apps script 使用Google脚本查找数据中的更改_Google Apps Script - Fatal编程技术网

Google apps script 使用Google脚本查找数据中的更改

Google apps script 使用Google脚本查找数据中的更改,google-apps-script,Google Apps Script,我对编程和谷歌脚本是绝对陌生的,但我决心学习并获得一些乐趣。我已经找到了一些基本的方法,但却陷入了一条死胡同,我希望这个社区能帮助我克服它 我正在尝试创建一个报表生成器,它从第三方提取数据,并在Google工作表中显示数据。数据已输入并已排序,但现在我希望在每次信息更改时插入一个标题行(即报告中的几个项目发生在星期一,因此在星期一部分之前,我希望插入一个标题行,显示“星期一”) 我相信我可以正确设置标题格式,但我无法找到正确的代码来检测数据中的更改,以便插入一个空行。下面是我正在使用的代码部分。

我对编程和谷歌脚本是绝对陌生的,但我决心学习并获得一些乐趣。我已经找到了一些基本的方法,但却陷入了一条死胡同,我希望这个社区能帮助我克服它

我正在尝试创建一个报表生成器,它从第三方提取数据,并在Google工作表中显示数据。数据已输入并已排序,但现在我希望在每次信息更改时插入一个标题行(即报告中的几个项目发生在星期一,因此在星期一部分之前,我希望插入一个标题行,显示“星期一”)

我相信我可以正确设置标题格式,但我无法找到正确的代码来检测数据中的更改,以便插入一个空行。下面是我正在使用的代码部分。为此,meetingday变量只是一周中的天数数组(即[星期日、星期日、星期一、星期二、星期二、星期二,…)

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];
     }
   }