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

时间:2017-08-17 14:53:01

标签: google-sheets spreadsheet

我有一个自动化工作流程(Zapier),只要在Trello中添加新卡,就会在Google工作表中添加新行。我们使用它来跟踪部门等的统计数据。我有一些额外的字段可以将日期字段转换为诸如周数,日,月,年......简单的东西。

我需要编写一个脚本,查找输入到电子表格中的新行,然后使用预设公式自动填充其他列。

示例布局:

通过自动化填充的列:

a,b,d,e

通过脚本填充的列。

f,g,h,i,j,k

我看过几个类似的脚本,但是没有从上面的行中获取自动填充的内容。

注意:每列的公式都可以在上面的行中找到(我现在已经手动添加)。因此,从理论上讲,脚本可以引用上面的单元格来使用正确的公式。

注意2:我无法使用ARRAYFORMULA方法,因为Zapier会将该行视为包含内容,并会跳到下一个空行。

1 个答案:

答案 0 :(得分: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
    }
  }
}