Я новичок в App Script, будьте осторожны!
У меня есть таблица с датой начала и количеством месяцев, мне нужно перечислить каждый повторяющийся месяц с даты начала до количества месяцев.
Я борюсь с 2 проблемами:
Большое спасибо за любую помощь!
Входной файл (https://i.stack.imgur.com/2EJ65.png)
Выходной файл (https://i.stack.imgur.com/0DH5R.png)
Журнал консоли (https://i.stack.imgur.com/NVqck.png)
var ss = SpreadsheetApp.getActiveSpreadsheet();
// Get Data sheet
var rawData = ss.getSheetByName('Sheet3');
// Get a date and set it as a date format
var start = new Date(rawData.getRange("B2").getValues());
console.info(start);
// Get Months
var months = rawData.getRange("C2").getValues();
// Define dates array
var dates = [];
// Add first date
const startDate = start
dates.push([startDate]);
//Add rest of dates dates in a loop
for (var run = 1;run < months;run++) {
//get the last pasted month name
var lastMonth = start.getMonth();
//push next month
dates.push([start.setMonth(lastMonth+1)]);
}
// Get processedData sheet
var processedData = ss.getSheetByName('sheet2');
// Post the outputArray to the sheet in a single call
console.info(start);
console.info(startDate);
console.info(dates);
console.info(dates.length);
console.info(dates[0].length);
processedData.getRange(1,1,6,1).setValues(dates);
}
function lfunko() {
const ss = SpreadsheetApp.getActive();
let dt = new Date();
let start = new Date(dt.getFullYear(),dt.getMonth(),dt.getDate());//need to change back to your value
const months = 10;//need to change back to your value
let dates = [];
dates.push([start]);
for (let run = 1; run < months; run++) {
dates.push([new Date(start.getFullYear(),start.getMonth() + run, start.getDate())])
}
ss.getSheetByName('Sheet0').getRange(1, 1, dates.length).setValues(dates).setNumberFormat("mm/dd/yyyy");//changed sheet name
Logger.log(dates);
}
это потрясающе, большое спасибо!