 
  
   
  
   
  
   
  
   
  
   
  
   
  
  range.setValues(data.splice(0, range.getNumRows()));range.setValues(data) вставить в range содержимое из data.data.splice(0, range.getNumRows()) удалит из массива data пункты в количестве ячеек из диапазона range.range.setValues(data), то выкинет ошибку, потому что в методе setValues должно быть одинаковое кол-во данных и кол-во строк в диапазоне. Однако, не понятно как метод splice() берёт нужное кол-во данных, ведь он должен удалять эти данные. 
  
   
  
   
  
  function myFunction() {
  var ss = SpreadsheetApp.getActiveSpreadsheet();
  var sheet = ss.getSheetByName("DataBase")
  var sourceRange = sheet.getRange('A1:A40')
  var targetRange = getRangeList(['H1:H10', 'J1:J10', 'H13:H22', 'L13:L22'])
  sourceRange.copyTo(targetRange)
} 
  
   
  
   
  
   
  
   
  
  