我试图获取数据范围内的数值,循环遍历数据,匹配其中的数值,然后根据匹配到的数值,更新几列之外的单元格。
我能够定位要匹配的数值,但是我不太明白如何更新几列之外的单元格。以下是我迄今为止得到的代码,不包括.setValue部分。
我能够定位要匹配的数值,但是我不太明白如何更新几列之外的单元格。以下是我迄今为止得到的代码,不包括.setValue部分。
var trackingSS = 'Spreadsheet 1';
var decisionSS = 'Spreadsheet 2';
function grabRequestID() {
var ss = SpreadsheetApp.openById(decissionSS);
var range = ss.getActiveSheet().getRange(ss.getLastRow(), 2, 1, 1)
var requestID = range.getValue();
return requestID;
}
function managersDecision() {
var ss = SpreadsheetApp.openById(trackingSS)
var sheet = ss.getSheetByName('Requests');
var data = sheet.getDataRange().getValues();
var requestID = grabRequestID();
for (var i=0; i < data.length; i++) {
for (var j=0; j < data[i].length; j++) {
if (data[i][j] == requestID) {
Logger.log('found it');
}
}
}
}
如您所见,这里有两个函数。 managersDecision() 从电子表格1中读取所有数据。然后调用grabRequestID()并使用此值(来自电子表格2)作为匹配条件,当循环遍历来自电子表格1的数据时。目前,它会定位并找到匹配项。
现在我想要发生的是,在匹配的基础上,转到同一行中的两列并根据成功找到匹配项将单元格值更新为“approved”或“denied”。
我对如何让它写入单元格有点困惑。我应该尝试确定它所在的行,然后工作以设置该值吗?也许获取匹配项所在的整行(到一个数组中),然后重新编写该行?
任何帮助都将不胜感激。