Как ежедневно автоматически сохранять значение ячейки в Google Таблицах?

Есть сумма меняющихся значений, мне каждый вечер нужно сохранить значение этой суммы, чтобы потом они сравнить их со следующим днём, и так далее. Как это можно реализовать?
  • Вопрос задан
  • 2693 просмотра
Решения вопроса 1
oshliaer
@oshliaer Куратор тега Google Apps Script
Google Products Expert
Самое простое - это создать скрипт и подключить триггер времени.

Добавьте код в проект к Таблице

/**
 *
 */
function createTrigger() {
  ScriptApp.getProjectTriggers().forEach(
    (trigger) =>
      trigger.getHandlerFunction() === 'saveData' &&
      trigger.getEventType() === ScriptApp.EventType.CLOCK &&
      (ScriptApp.deleteTrigger(trigger) ||
        console.info(`Tirgger ${trigger.getUniqueId()} was deleted`))
  );
  // every minutes for testing
  // ScriptApp.newTrigger('saveData').timeBased().everyMinutes(1).create();
  // at 9 o'clock every days
  ScriptApp.newTrigger('saveData').timeBased().atHour(9).everyDays(1).create();
}

/**
 *
 */
function saveData() {
  const book = SpreadsheetApp.openById(
    '1FUSSiDQoXyvKXfzYydoUUfcCGYq_TskpRiwfb28_1Z0'
  );
  const sheet = book.getSheetByName('Лист1');
  const value = sheet.getRange('A1').getValue();
  book.getSheetByName('Лист2').appendRow([new Date(), value]);
  console.info(`saveData was called successful`);
}


Не забудьте поменять ID Таблицы 1FUSSiDQoXyvKXfzYydoUUfcCGYq_TskpRiwfb28_1Z0 на ваш.

Таблица должна содержать два листа: "Лист1" и "Лист2". Программа с 9 до 10 утра один раз читает значение из ячейки Лист1!A1 и добавляет новую строку на Лист2.

Вызовите из редактора функцию createTrigger один раз.

Пример Таблицы с кодом https://docs.google.com/spreadsheets/d/1FUSSiDQoXy...

На картинке красным пометил то, что нужно нажимать. Синим - нужно изменить перед первым запуском.
5fe4bd91d80c7094551103.png
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы