我想要一些帮助,让人们在全球年度报告中参与时间活动。
目的
每周我们根据活动和一周中的每一天来报告我们的时间。
目标
因为我们每周都这样做,所以我想在为下一周的活动重写数据之前,将数据导出到一份年度报表中。
源SheetName=‘时间表’

导出的数据
目的地SheetName= 'Anual_Timesheet‘

结论
每周,通过脚本,我将能够保持数据自动导出和节省时间,而不做手工错误。
档案
用于https://docs.google.com/spreadsheets/d/1WzVbd8esjmJZJ0PnbUfnW8sS2KOTv6JikVD8vhtpqPg/edit?usp=sharing的文件
谢谢你的阅读和帮助
发布于 2022-07-22 12:53:58
下面是一个归档时间记录的示例脚本。我为测试做了一个样本数据集,如下所示。工作表名称需要更改以反映您的情况。

Code.gs
function saveTimeRecords() {
try {
let spread = SpreadsheetApp.getActiveSpreadsheet();
let sheet = spread.getSheetByName("Sheet1");
let records = sheet.getRange(4,1,sheet.getLastRow()-3,sheet.getLastColumn()).getValues();
let dates = records.shift(); // get the dates and remove from records
dates = dates.slice(2,8); // get only the columns with dates
records.shift(); // remove headers
let archive = [];
records.forEach( record => {
for( let i=2; i<9; i++ ) {
if( record[i] !== "" ) {
archive.push([dates[i-2],record[0],record[1],record[i]]);
}
}
});
sheet = spread.getSheetByName("Sheet2");
sheet.getRange(sheet.getLastRow()+1,1,archive.length,archive[0].length).setValues(archive);
}
catch(err) {
Logger.Log(err);
}
}参考文献
https://stackoverflow.com/questions/73078275
复制相似问题