2017-08-17 551 views
1

我有一個自動化工作流程(Zapier),在Trello中添加新卡時,會向Google工作表添加新行。我們使用它來跟蹤部門的統計數據等。我有一些額外的領域,將日期字段轉換爲像weeknumber,day,month,year ......簡單的東西。添加新行時使用公式自動填充Google表格中的列

我需要編寫一個腳本,查找輸入到電子表格中的新行,然後使用預設公式自動填充其他列。

實施例佈局:

列經由自動化填充:

a,b,d,e 

列經由腳本填充。

f,g,h,i,j,k 

我已經看到了幾個類似的腳本,但沒有從上面那一行作爲內容自動填充的公式。

注:每列的公式都可以在上面的行中被我手動添加(現在)。所以,從理論上講,腳本可以參考上面的單元格來使用正確的公式。

注意2:我無法使用ARRAYFORMULA方法,因爲Zapier會將該行看作具有內容並跳到下一個空行。

+0

我很抱歉拒絕您的更改。我認爲副本會得到價值。但是,如果它確實得到像米歇爾那樣的公式,那麼它可能是更好的方法,因爲它保留了單元格引用。感謝這對我來說是一次學習體驗。 – Cooper

+0

別擔心!團隊學習產生結果! – Jake

回答

1

我認爲這樣做。

function fillInFGHIJK() 
{ 
    var ss=SpreadsheetApp.getActive(); 
    var sh=ss.getActiveSheet(); 
    var rg=sh.getDataRange(); 
    var vA=rg.getValues(); 
    for(var i=0;i<vA.length;i++) 
    { 
    if(!vA[i][5] && !vA[i][6] && !vA[i][7] && !vA[i][8] && !vA[i][9] && !vA[i][10]) 
    { 
     sh.getRange(i,6,1,6).copyTo(sh.getRange(i+1,6,1,6));//According to Michelle this will works better because the cell references change appropriately 
    } 
    } 
} 
+0

它通過細胞的價值拉動之前,它可以通過公式拉動? – Jake

+0

我改變了答案再試一次 – Cooper

+1

當公式以這種方式重複時,單元格引用會發生什麼?我建議使用'copyTo'方法,而不是'sh.getRange(i,6,1,6).copyTo(sh.getRange(i + 1,6,1,6))''。這相當於手動複製,它用公式來完成預期的事情。另外,如果某些列包含值(用作公式參數),它們也會被複制。 – FTP