У меня есть электронная таблица, связанная с формой 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.