Как сделать перенос данных по условию?

В этот скрипт надо дополнить условие по дате, чтобы выводил строки с нужной датой из одной таблицы в другую

f

unction setById (){
  let ss = SpreadsheetApp.getActiveSpreadsheet();
  let activeWs = ss.getSheetByName('Здесь имя листа из которого берем данные')
  let ws = SpreadsheetApp.openById('Здесь ID таблицы в которую пишем данные');
  let data = activeWs.getDataRange().getValues();
 
  ws.getSheetByName('Здесь имя листа в который пишем данные').getRange(1, 1, data.length, data[0].length).setValues(data)
 
}

Ответы (1 шт):

Автор решения: contributorpw

Положим, что в колонке B:B у вас даты и вы хотите взять данные за 2022-06-29, тогда просто поменяйте строку на

const data = activeWs.getDataRange().getValues()
  .filter(row => {
    const dataStr = row[1] && row[1].getTime ?
      Utilities.formatDate(
        row[1],
        SpreadsheetApp.getActive().getSpreadsheetTimeZone(),
        'yyyy-MM-dd'
      ) :
      '';
    return dataStr === '2022-06-29';
  });

Полное решение в Таблице https://docs.google.com/spreadsheets/d/1ZM_Z9YaUkRKsfjXYO86PQHYO4KUrNT_0RH_hNv7YBkU/edit?usp=sharing

→ Ссылка