#javascript #google-apps-script #google-sheets
#javascript #google-приложения-скрипт #google-таблицы
Вопрос:
Вопрос об обновлении пустых строк. Ниже у меня есть запрос, который работает для обновления всех ячеек в столбце A, однако мне нужно изменить его, чтобы обновлять только пустые ячейки. Прямо сейчас приведенный ниже запрос обновит все ячейки в столбце B, которые содержат значение в столбце A. Проблема в том, что при этом перезаписываются все ячейки столбца B, а не только пустые ячейки.
Я пытаюсь найти наилучший способ включить If
оператор в этот запрос, чтобы он обновлял только пустые ячейки в столбце B, а не полный столбец.
function fillFormulae(){
var ss = SpreadsheetApp.getActiveSpreadsheet();
var sheets = ss.getSheetByName("Sheet1");
var lastUsedRow = sheets.getLastRow();
var arrayOfFormulae = new Array(lastUsedRow - 2);
for (j=0; j < lastUsedRow - 2; j ){
arrayOfFormulae[j] = [Utilities.formatDate(new Date(), "PST", "yyyy-MM-dd HH:mm:ss")];
}
sheets.getRange(3, 2, (lastUsedRow - 2), 1).setValues(arrayOfFormulae);
}
Спасибо!
Шон
Ответ №1:
Вместо того чтобы использовать массив, я бы делал это по одной ячейке за раз.
function fillFormulae(){
var ss = SpreadsheetApp.getActiveSpreadsheet();
var sheets = ss.getSheetByName("Sheet1");
var lastUsedRow = sheets.getLastRow();
for (j=0; j < lastUsedRow - 2; j ){
var cell = sheets.getRange(3 j, 2);
if (cell.getValue() == '') {
cell.setValue(Utilities.formatDate(new Date(), "PST", "yyyy-MM-dd HH:mm:ss"));
}
}
}
Комментарии:
1. Это сделало свое дело! Хорошая идея по удалению массива. Спасибо, разработчик 🙂