添加新行时使用公式自动填充Google表格中的列

问题描述:

我有一个自动化工作流程(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

我认为这样做。

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