我这里有这个代码:
function getName() {
var id = SpreadsheetApp.getActiveSheet().getActiveCell().getValue();
var data = SpreadsheetApp.openByUrl('https://docs.google.com/spreadsheets/d/spreadsheetIdHere/edit#gid=0')
.getSheetByName("Paste Data")
.getDataRange()
.getValues();
for (var i in data) {
if (data[i][8] = id) {
return data[i][5];
} else {
return "Student Not Found";
}
}
}
应该查看电子表格单元格中的用户输入,并将其与另一个电子表格中的行匹配。我正在尝试使它匹配row [i]并在匹配列[8]时返回列[5]。目前,它似乎返回第一行和它找到的id,但它们不在同一行。
请帮忙。
答案 0 :(得分:0)
尝试将data[i][8]
中的值与id
进行比较而不是实际比较时,您将id
值分配给data[i][8]
。
更正版本如下:
function getName() {
var id = SpreadsheetApp.getActiveSheet().getActiveCell().getValue();
var data = SpreadsheetApp.openByUrl('https://docs.google.com/spreadsheets/d/spreadsheetIdHere/edit#gid=0')
.getSheetByName("Paste Data")
.getDataRange()
.getValues();
for (var i = 0; i < data.length; i++) {
if (data[i][8] == id) {
return data[i][5];
}
}
return "Student Not Found";
}