2017-05-29 78 views
0

每天,我會收到一個包含兩個數據標籤的電子表格。每個人約有9000行。我需要從這個工作表中捕獲數據,並生成兩個新的電子表格,其中一個用於「每日報告」(僅包含當天的數據),另一個用於創建「數據庫」(包含所有數據以前的結果)。我如何使用GAS自動執行此操作?如何在一個電子表格中添加數據,並製作數據庫和另一個更新/覆蓋?

在這個項目上我已經可以提取,我接受併產生它的數據的電子表格的電子表格中的數據的工作,但我想自動化以下過程:

  1. 生成電子表格「每日「與當天的數據(最新更新)。在這種情況下,新數據必須訂閱最後的數據。
  2. 生成包含所有數據的電子表格「數據庫」,在這種情況下,新數據必須在最後一行增加,並將存儲所有先前的數據。

在這個項目中工作,我創建了這段代碼,但我不知道該怎麼做,如果有人能幫助我,我真的很感激!

function getDay() { 
    var day = SpreadsheetApp.openById('xxxxxx'); 
    var tab1 = day.getSheets()[0]; 
    var tab2 = day.getSheets()[1]; 

    var ss = SpreadsheetApp.getActiveSpreadsheet(); 
    var sss = ss.getSheets()[0]; 

    var weeks = tab1.getRange("G8").getValues(); 
    var dates = tab1.getRange("G9").getValues(); 
    var regions = tab1.getRange('A10:A').getValues(); 
    var locnames = tab1.getRange('B10:B').getValues(); 
    var locnums = tab1.getRange('C10:C').getValues(); 
    var divisions = tab1.getRange('D10:D').getValues(); 
    var depnums = tab1.getRange('E10:E').getValues(); 
    var depnames = tab1.getRange('F10:F').getValues(); 
    var saless = tab1.getRange('G10:G').getValues(); 
    var qtys = tab2.getRange('G10:G').getValues(); 

    var datestart = sss.getRange('A2').setValues(dates); 
    var dateend = sss.getRange('B2').setValues(dates); 
    var week = sss.getRange('C2').setValues(weeks); 
    var regions = sss.getRange(2,4,regions.length,regions[0].length).setValues(regions); 
    var locname = sss.getRange(2,5,locnames.length,locnames[0].length).setValues(locnames); 
    var locnum = sss.getRange(2,6,locnums.length,locnums[0].length).setValues(locnums); 
    var division = sss.getRange(2,7,divisions.length,divisions[0].length).setValues(divisions); 
    var depnum = sss.getRange(2,8,depnums.length,depnums[0].length).setValues(depnums); 
    var depname = sss.getRange(2,9,depnames.length,depnames[0].length).setValues(depnames); 
    var sales = sss.getRange(2,10,saless.length,saless[0].length).setValues(saless); 
    var qty = sss.getRange(2,11,qtys.length,qtys[0].length).setValues(qtys); 

} 

我把電子表格中的鏈接來說明表的格式,我需要做什麼。前兩個標籤與我獲得的標籤相同。並在接下來的兩個選項卡(daily_report,數據庫)是我想單獨獲取代碼的工作表。 https://docs.google.com/spreadsheets/d/1_iz0oansAfINosV2qNoDG0QMNpGS1bp1AL5kJQztRtc/edit?usp=sharing

+0

標題不應該被強制標題。另一方面,您是否認爲Google表格電子表格最多可以有200萬個單元格? –

回答

0

首先在數組[]中將所有想要放入行的值相加。您可以使用sheet.appendRow(行)將此行添加到想要的工作表中。

對於日常需要,您可以添加一個觸發器,每天使用小時鐘圖標運行您的程序。

相關問題