【发布时间】:2015-09-13 18:50:31
【问题描述】:
我有一个脚本,它根据开始时间和停止时间查找学生的教师列表。它结合了 Google 表格基于单元格的公式和 Google 脚本。
在电子表格中,我有一个数据库表 - db - 这是一个按列排列的学生及其教师的静态列表。第二张表 - tchrLookup - 使用数据验证和 INDEX - MATCH 搜索将数据从数据库中提取到查找中。
脚本分析查找页面以(最终)为搜索中匹配的教师构建电子邮件通知。我的数组都正确返回,除了最后一个。我不知道我的逻辑哪里出了问题。
脚本
function findTchr() {
var sheet = SpreadsheetApp.getActiveSpreadsheet();
var ss = sheet.getSheetByName('tchrLookup');
// Loop through each row and get the teachers assigned as an array
var range = ss.getRange(2, 2, ss.getLastRow()-1, ss.getLastColumn());
Logger.log(range.getValues());
var cells = range.getValues();
for(i=0;i<cells.length;i++) {
// Get the start and stop values for each row
var start = cells[i][0];
var stop = cells[i][1];
// Determine the number of columns to return
var tchrsToGet = stop-start+1;
Logger.log("Start: " + start + ", Stop: " + stop);
Logger.log("# of cols to get: " + tchrsToGet);
// Return teachers based on start/stop time
var tchrs = ss.getRange(2, start+3, 1, tchrsToGet);
Logger.log(tchrs.getValues().toString());
}
}
这是运行脚本后的日志文件截图。
您可以在顶部看到原始值数组。最后的日志条目错误地返回了第三位老师,我不知道为什么。我有一个具有编辑权限的 test spreadsheet,因此您可以看到整个事情是如何协同工作的。
【问题讨论】:
标签: google-apps-script google-sheets