添加新行时自动用公式填充列

Auto fill a column with formulas when new rows are added

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

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

示例布局:

通过自动化填充的列:

a,b,d,e

要通过脚本填充的列。

f,g,h,i,j,k

我见过一些类似的脚本,但没有将上面一行中的公式作为自动填充的内容。

注意:每列的公式在上面的行中可用,这是我手动添加的(目前)。因此,理论上,脚本可以引用上面的单元格以使用正确的公式。

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

我想这样就可以了。

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
    }
  }
}