我有一张名为“metrics”的表,每天有一行,例如:
day counts1 counts2 counts3
01-01-2019
01-02-2019
01-03-2019
01-04-2019
01-05-2019
...
每天我都会创建一个与日期相同的新工作表。例如,在01-06-2019中,我创建了一个名为“01-06-2019”的工作表并在其中输入数据。使用这个每日数据,我计算每天计数1,计数2和计数3。
我想用这些值填充表单“metrics”,添加一个新行和相应的counts1,counts2,counts3。
或者,它是另一种更好的方法来保存数据并实现这一目标吗?
={SUM( INDIRECT(TO_TEXT(A2)&"!B2:C2")),
AVERAGE(INDIRECT(TO_TEXT(A2)&"!C2:C")),
SUM( INDIRECT(TO_TEXT(A2)&"!B2:B"))}
function onOpen() {
SpreadsheetApp.getUi().createMenu('NEW DAY')
.addItem('Create New Tabs', 'createTabs')
.addToUi()
}
function createTabs() {
var ss = SpreadsheetApp.getActive()
ss.getSheetByName('metrics').getRange('A2:A').getValues().filter(String)
.forEach(function (sn) {
if (!ss.getSheetByName(sn[0])) {
ss.insertSheet(sn[0], ss.getSheets().length);
}
})
}
Plain text
这将通过跳过已创建的选项卡/工作表并跳过空单元格,从A列中的日期列表自动创建新选项卡
为避免每次输入日期,请在A2单元格中使用此公式并向下拖动:
=TO_TEXT(TEXT(DATE(2019, 1, 1)+ROW()-2, "MM-dd-yyyy"))