Копирование данных в первую пустую ячейку в столбце L
Копирование значения из J3
в нижнюю часть столбца L
function copyData() {
var ss=SpreadsheetApp.getActive();
var sh=ss.getSheetByName('Activity Report');
sh.getRange(sh.getLastRow()+1,12).setValue(sh.getRange(3,10).getValue());
}
Попробуйте следующее:
Это поместит его в самую первую пустую ячейку в столбце L, которая может быть lastRow () + 1, если нет пробелов.
function runOne() {
var ss=SpreadsheetApp.getActive();
var sh=ss.getSheetByName('Activity Report');
var f=false;
var L=sh.getRange(1,12,sh.getLastRow()+1,1).getValues().map(function(r,i){if(!f && r[0].toString().length==0){f=true;return i+1;}else{return '';}}).filter(function(e){return e;});
sh.getRange(L,12).setValue(sh.getRange(3,10).getValue());
}
Здесь используется сокращение:
Во всяком случае, это немного проще.
function copyData() {
var ss=SpreadsheetApp.getActive();
var sh=ss.getSheetByName('Activity Report');
var f=false;
var L=sh.getRange(1,12,sh.getLastRow()+1,1).getValues().reduce(function(a,r,i){if(!f && r[0].toString().length==0){f=true;return a + i;}return a;},1);
sh.getRange(L,12).setValue(sh.getRange(3,10).getValue());
}
Array.map
Array.filter
Array.reduce