Задать вопрос
xc1sr
@xc1sr

Как можно исключить неотмеченные строки из условия?

Выполняется скрипт по переносу заполненных данных из одной таблицы в другую.

Как можно доработать его, чтобы сверялись по столбцу C, если там определенное значение (например галочка или любое программируемое значение), то эту строку переносить.
Исходя из первого пункта, перенесенные строки нужно очистить (не удалять) и передвинуть оставшиеся чтобы строки шли подряд
function Export() {
 var sss = SpreadsheetApp.getActiveSpreadsheet();
 var ss = sss.getSheetByName('лист откуда тянем данные');
 var range = ss.getRange('A2:D51').getValues();
   var filtered = range.filter(function(r){
    return r.join("").length>0;
  });
 var filled_cells = ss.getRange('A2:A51').getValues().filter(String).length;
  
 var tss = SpreadsheetApp.openById('докс куда экспортируем');
 var ts = tss.getSheetByName('лист куда вставляем данные');

 if(filled_cells==0){

  }else{
 
 ts.getRange(ts.getLastRow()+2, 1, 1, 1).setValues([[new Date()]]);
 ts.getRange(ts.getLastRow(), 2,filled_cells,4).setValues(filtered);
 
 var ss = SpreadsheetApp.getActiveSpreadsheet();
      var data = ss.getSheetByName("лист откуда тянем данные");
      data.getRange("A2:D51").clearContent();
  }
 }


Как я понял, эта часть проверяет только заполненные ячейки, не совсем понимаю, как это доработать

var filtered = range.filter(function(r){
    return r.join("").length>0;
  });
var filled_cells = ss.getRange('A2:A51').getValues().filter(String).length;

Следовательно тут будет чиститься не вся таблица, а те строки которые будут выгружены data.getRange("A2:D51").clearContent();
  • Вопрос задан
  • 171 просмотр
Подписаться 1 Простой 28 комментариев
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы