скопировать данные из определенной ячейки листа на другой лист - PullRequest
0 голосов
/ 20 марта 2019

Есть несколько запросов, которые чем-то похожи, но я не могу найти решение из них.

В моем основном списке я импортирую данные с веб-страницы, используя функцию Importdata в основном списке. Данные на веб-странице меняются каждые 5 минут, поэтому значение ячейки A50 меняется каждые 5 минут в основной таблице.

Теперь я хочу написать функцию скрипта приложения Google, которая будет копировать значение из A50 главной таблицы на другой лист в ячейке A1, A2, A3, A4, A5 ....... и т. Д. И иметь метка времени соответственно в B1, B2, B3, B4, B5 .... и т. д.

1 Ответ

0 голосов
/ 20 марта 2019

Вы можете использовать функцию запуска onEdit(), чтобы сделать это. Когда редактирование происходит в ячейке A50, проверьте правильность ячейки и листов, затем прочитайте значение и сохраните в целевой лист. Ниже код делает это. Измените имена листов, как показано в комментарии.

function onEdit(e) {
  // check if active range is A50 or not
  var rangeStr = e.range.getA1Notation();
  if (rangeStr != 'A50') return;
  // get Spreadsheet
  var ss = SpreadsheetApp.getActiveSpreadsheet();
  // get sheets
  var mainSheetNames = ['main sheet name', 'main sheet name', 'main sheet name']; // change here
  var mainSheet = e.range.getSheet();
  if (mainSheetNames.indexOf(mainSheet.getName()) == -1) return;
  var targetSheet = ss.getSheetByName('target sheet name'); // change here
  // get value
  var value = e.value;
  // set values
  targetSheet
    .getRange(targetSheet.getLastRow() + 1, 1, 1, 2)
    .setValues([[value, new Date().toLocaleString()]]);
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...