【问题标题】:Google Sheets Script - Copying dynamic array values to static table谷歌表格脚本 - 将动态数组值复制到静态表
【发布时间】:2018-01-02 20:28:29
【问题描述】:
我有一张表格,我在其中使用脚本提取关于某些性能指标的数据,这些指标每天都会更新。我想要做的是将此动态更新范围中的值复制到单独的工作表中,并将它们作为静态值按降序记录在行中。
表 A
昨天的 X、Y、Z
表 B
昨天的 X、Y、Z
X、Y、Z 前一天
3 天前 X、Y、Z
这样我就可以计算 7 天以上的移动平均线。
考虑到自动更新范围以及将输出记录在其他地方的单独静态范围中的需要,实现此目的的最佳方法是什么?
【问题讨论】:
标签:
javascript
google-apps-script
google-sheets
【解决方案1】:
您可以从动态工作表中获取行并将它们附加到静态工作表中。像这样的东西。然后,您可以为该脚本添加每日触发器以每天运行。
function getDynamicRows(){
var ss = SpreadsheetApp.getActiveSpreadsheet();
var sheet = ss.getSheetByName('dynamicSheet');
var sourceRange = sheet.getRange('A1:B');
var data = sourceRange.getValues(); // Array of arrays [[Row1],[Row1],[Row3]]
// add data to next empty row in the static sheet.
var targetSheet = ss.getSheetByName('targetSheet');
data.forEach(function(row){
targetSheet.appendRow(row)
})
}