- Вы хотите вычислить значения
A2:A853
из 6th&7thRoster
и C2:C632
из alreadySubmitted
. - Когда значения
C2:C632
из alreadySubmitted
совпадают с значения A2:A853
из 6th&7thRoster
, вы хотите поместить Yes
в столбец «I».
Если мое понимание верно, как насчет этой модификации? Пожалуйста, подумайте об этом как об одном из нескольких возможных ответов.
Модифицированный скрипт:
function checkRoster() {
var mainSheet = SpreadsheetApp.openById('XXXXXXX');
var roster = mainSheet.getSheetByName('6th&7thRoster');
var submissions = mainSheet.getSheetByName('alreadySubmitted');
var rosterLastRow = roster.getLastRow();
var submissionsLastRow = submissions.getLastRow();
var rosterArray = roster.getRange('A2:A853').getValues();
var submissionsArray = submissions.getRange('C2:C632').getValues(); // Modified
// I modified below script.
var obj = submissionsArray.reduce(function(o, [v]) {
if (v) o[v] = true;
return o;
}, {});
var values = rosterArray.map(function([v]) {return [obj[v] ? "Yes" : ""]});
roster.getRange(2, 9, values.length, values[0].length).setValues(values);
}
Поток:
- Извлечение значений из
A2:A853
из 6th&7thRoster
и C2:C632
из alreadySubmitted
. - Создать объект для поиска значений по значениям
alreadySubmitted
. - Создать значения строк для установки в
6th&7thRoster
.
Ссылки:
Если я неправильно понял ваш вопрос, а это не то направление, которое вы хотите, я прошу прощения.