#google-apps-script #google-sheets
#google-apps-script #google-sheets
Вопрос:
function dailyprofit() {
var sheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("Matt");
var profit = SpreadsheetApp.getActiveSheet().getRange('O2').getValue();
sheet.appendRow([,,,profit ]);
}
Здравствуйте, я пытаюсь использовать appendrow для помещения моей переменной в последнюю пустую ячейку строки D, однако appendRow выполняет ввод строки, а не только столбца D.
я бы хотел, чтобы «прибыль» добавлялась к строке 362, а не к строке 363 -> см. Пример здесь
Спасибо!
Ответ №1:
Вы можете использовать этот пример кода, чтобы получить последнюю строку столбца D:
var sheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("Matt");
var profit = SpreadsheetApp.getActiveSheet().getRange('O2').getValue();
var colValues = sheet.getRange("D1:D").getValues();
var count = colValues.filter(String).length
sheet.getRange(count 1,4).setValue(profit);
Что он делает?
- Получить все значения столбца D с помощью
sheet.getRange("D1:D").getValues()
- Отфильтруйте массив строковыми значениями и получите его длину / количество. Пустые ячейки не будут учитываться.
- Увеличьте количество столбцов D на 1 и используйте Sheet.getRange(строка, столбец), чтобы получить ячейку под непустой ячейкой в столбце D. Используйте Range.setValue(значение), чтобы задать значение ячейки.
Пример вывода:
ПРИМЕЧАНИЕ:
Это будет работать только при условии, что у вас нет пустой строки в столбце D.
Если у вас есть пустые строки в столбце D, вам может потребоваться добавить еще несколько смещений при увеличении количества.
Пример:
- У меня есть 2 пустые строки заголовка (строки 1 и 2). Следовательно, смещение количества строк должно быть 3.
Пример кода:
var sheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("Matt");
var profit = SpreadsheetApp.getActiveSheet().getRange('O2').getValue();
var colValues = sheet.getRange("D1:D").getValues();
var count = colValues.filter(String).length
sheet.getRange(count 3,4).setValue(profit);
Комментарии:
1. это сработало отлично, спасибо за помощь и отличное объяснение 🙂