Требования:
Копирование данных, соответствующих датам, в другой диапазон.
Решение:
function copyData() {
//spreadsheet variables
var ss = SpreadsheetApp.getActiveSpreadsheet();
var sh = ss.getActiveSheet();
//data variables
var raw = sh.getRange('W30').getDisplayValue();
var range = sh.getRange(71, 17, 6, 2); //row 71, column R, for 6 rows and 2 columns
var data = range.getDisplayValues();
var date = Utilities.formatDate(new Date(), ss.getSpreadsheetTimeZone(), 'M/dd/yy');
//loop through range
for (i = 0; i < data.length; i++) {
//if date on sheet matches today's date
if (data[i][0] === date) {
var val = raw.toString().replace(/\+|-/g,''); //remove '+' and '-' from data
sh.getRange(71+i, 18).setValue(val); //set value
}
}
}
Пояснение:
Скрипт перебирает ваш диапазон и сравнивает дату в столбце с текущей датой, а затем, если они совпадают, копирует значение в правильную строку в вашем диапазоне.
Вам нужно будет изменить var range
, если вы хотите записать данные за более чем 6 дней, это достаточно просто, просто измените '6' на столько строк данных, которые вы хотите сохранить.