- Извлечение значения последней строки из
Responses
листа. - Извлечение значений столбца "B" из
roster
листа. - Вы хотите поместитьзначение столбца "C" последней строки листа
Responses
для столбца "C" листа roster
, когда значение столбца "B" листа roster
включено в значениестолбец "D" из Responses
листа.
Если мое понимание верно, как насчет этого ответа?
Точки модификации:
- Я думаючто
rosterSheet.getRange(responsesLastRow, 2).getValues()
это rosterSheet.getRange(1, 2, rosterLastRow, 1).getValues()
. - Этим можно получить значения столбца "B" листа
roster
.
- Когда вы проверяете, включено ли
Smith, John F.
в Smith, John F., Stephenson, Donald J.
, вы можете использовать indexOf()
.
Когда ваш скрипт изменяется, он выглядит следующим образом.
Измененный скрипт:
Пожалуйста, измените ваш скрипт следующим образом.
От:
var rosterArray = rosterSheet.getRange(responsesLastRow, 2).getValues()
var i;
for (i = 0; i < responsesLastRow; i++) {
if (connectedStudents.substr(responsesLastRow, 4) == rosterArray[i]) {
rosterSheet.getRange((i + 1), 3).setValue(teacher);
}
}
До:
var rosterArray = rosterSheet.getRange(1, 2, rosterLastRow, 1).getValues();
var i;
for (i = 0; i < rosterLastRow; i++) { // <--- Modified
if (rosterArray[i][0] && connectedStudents.indexOf(rosterArray[i][0]) > -1) {
rosterSheet.getRange((i + 1), 3).setValue(teacher);
}
}
Ссылки:
Добавлено:
- Вы хотите добавить значение в столбец "C" листа
roster
, когдазначение существует.
О вашем новом вопросе, если мое понимание верно, как насчет следующей модификации?
От:
var rosterArray = rosterSheet.getRange(responsesLastRow, 2).getValues()
var i;
for (i = 0; i < responsesLastRow; i++) {
if (connectedStudents.substr(responsesLastRow, 4) == rosterArray[i]) {
rosterSheet.getRange((i + 1), 3).setValue(teacher);
}
}
До:
var rosterArray = rosterSheet.getRange(1, 2, rosterLastRow, 2).getValues();
var i;
for (i = 0; i < rosterLastRow; i++) {
if (rosterArray[i][0] && connectedStudents.indexOf(rosterArray[i][0]) > -1) {
if (rosterArray[i][1] && rosterArray[i][1].indexOf(teacher) == -1) {
rosterSheet.getRange((i + 1), 3).setValue(rosterArray[i][1] + "," + teacher);
} else if (!rosterArray[i][1]) {
rosterSheet.getRange((i + 1), 3).setValue(teacher);
}
}
}