【发布时间】:2014-09-03 13:12:18
【问题描述】:
我使用谷歌电子表格作为一个简单的成员数据库,我想创建一个用户界面来搜索它们(这个的主要用户在技术上不是很熟练,并且有很多与每个成员相关的数据,所以将其视为电子表格可能有点乏味)
我编写了以下脚本,该脚本昨晚有效,但运行速度似乎很慢,今天超时了,我不知道为什么。
function findMember() {
// set spreadsheet variable
var SS = SpreadsheetApp.getActiveSpreadsheet();
// set sheet variables
var memberSearchSheet = SS.getActiveSheet();
var memberDataSheet = SS.getSheetByName("Member Data");
// get the search variables
var searchFirstName = memberSearchSheet.getRange('C2').getValue();
var searchLastName = memberSearchSheet.getRange('C3').getValue();
// get last row of data
var lastRow = memberDataSheet.getLastRow();
for (var i = 2;lastRow;i=i+1){
if (searchFirstName == memberDataSheet.getRange('R'+i+'C2').getValue() && searchLastName == memberDataSheet.getRange('R'+i+'C3').getValue()){
memberSearchSheet.getRange('C5').setValue(memberDataSheet.getRange('R'+i+'C5').getValue());
//throw new Error("ouch")
}
}
// small pop up notification in bottom right corner .toast(message, title, display time)
//var message = "Your search for " + searchFirstName + " " + searchLastName + " is complete.";
//SS.toast(message,"Search Complete",15);
};
【问题讨论】:
-
我会将您的 For 循环更改为:
for (i = 2;i < lastRow; i++){ -
干杯修复这个循环和我选择的答案帮助分配:)