Google Script для копирования формулы в Value и только при новом вводе данных - PullRequest
0 голосов
/ 12 июня 2019

У меня есть электронная таблица, связанная с формой Google, после ее заполнения формула извлекает некоторую информацию о погоде из OpenWeatherMap.org.Чтобы сохранить информацию о погоде от этой даты / времени, я создал скрипт, который копирует формулу в значение.

Мне нужен скрипт, который делает это, но работает только с новыми данными, оставляя только предыдущие ячейки.Например, если A1 скопировал данные в значения в B1, а новые данные из формы заполнили A2, сценарий проигнорировал бы A1 и B1 и скопировал бы A2 в B2.

Приведенный ниже код был предоставлен мне. Он имеетдве функции, это не сработало так, как мне хотелось бы.

function moveValuesOnly1() {
  var ss=SpreadsheetApp.getActive();
  var sh=ss.getSheetByName('Sheet1');
  var srg=sh.getRange(1,2,sh.getLastRow(),6);
  var vA=srg.getValues();
  sh.getRange(getLastRowOfRange("H:M")+1,8,srg.getHeight(),srg.getWidth()).setValues(vA);
}


function getLastRowOfRange(A1Range) {
  var A1Range=A1Range||"H:M";//default for debugging
  var ss=SpreadsheetApp.getSheetByName('Sheet1');
  var sh=ss.getActiveSheet();
  var rg=sh.getRange(A1Range);
  var vA=rg.getValues();
  for(var i=vA.length-1;i>-1;i--) {
    if(vA[i].join("").length==0) {
      vA.splice(i,1);
    }
  }
  Logger.log(vA.length);
  return vA.length;
}

Как я упоминал ранее, если A1 копирует данные в значения в B1, а новые данные из формы заполняют A2, то скрипт будет игнорировать A1 и B1и скопируйте A2 в B2.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...