好的,我已经做了大约一个月了。我尝试了很多不同的方法,我认为我很接近。我不是专家,但这就是我想要做的。我创建了一个表单,允许我捕获我儿子的行为数据。 (他是自闭症,这就是为什么这很重要。)我可以将表单中的数据转换为结果电子表格,然后我可以将数据传输到新的报告样式预格式化电子表格。我不能做的是有效地过滤日期。我的脚本如下。
function onOpen() {
var rawdata=SpreadsheetApp.openById("0AtkuL_H_DshvdFU5U1dBLVI1NWhlWXdSNjBXOHdIaUE");
var sheet1=rawdata.getSheetByName("FormResponses");
var maxrows=sheet1.getMaxRows();
var lastcol = sheet.getLastColumn();
var vals=sheet1.getRange(1,1,maxrows,1).getValues();
var date = new Date();
var newDate = date.setDate(date.getDate()+1);
var Sdate=Utilities.formatDate(date,"GMT-0400","yyyy:MM:dd");
var newerDate=Utilities.formatDate(newDate,"GMT-0400","yyyy:MM:dd");
var filter=ArrayLib.filterByDate(vals,1,Sdate,newerDate);
var range1 = sheet1.getRange(1,1,filter,lastcol);
var values = range1.getValues();
var target = SpreadsheetApp.openById("0AtkuL_H_DshvdGxWNGJ0ZjA2VU5zV01iaVNacDZQYWc")
var sheet2 = target.getSheetByName("Sheet1");
var range2 = sheet2.getRange(4,1,i,7);
SpreadsheetApp.setActiveSpreadsheet(rawdata);
values
SpreadsheetApp.setActiveSpreadsheet(target);
range2.setValues(values);
}
//for (var i = 0; i < maxrows; i++) if (Date.parse(vals[i]).valueOf() >= todaydt.valueOf() );
最后一行是我尝试过滤日期的先前方法。那是我无法完成的部分。我的挑战之一是我还不太了解“for”命令。我正在做CodeAcademy java课程,但是因为我工作,有一个家庭,并且不以此为生,这是缓慢的。我搜索了大约一千个网站并尝试了很多方法来过滤日期,但我无法让它们中的任何一个起作用。任何帮助表示赞赏。
答案 0 :(得分:0)
我假设arraylib.filterbydate需要日期但你传递字符串。尝试传递日期。 或者只是按字符串过滤,如果该lib允许它。由于您将日期字符串格式化为yyyymmdd,因此您的字符串比较可以起作用。