根据表单中提供的答案,根据不同的表格复制提交的表单上的lastRow

时间:2017-08-09 15:13:00

标签: javascript google-apps-script

我正在尝试找到一种方法,将表单提交的最后一行复制到我正在使用的电子表格中的另一张表格中。所有这些都将基于第2栏中的价值。

对于我目前的电子表格,我尝试了不同的方法,但我没有成功。

function copyLastRow(event) 
{  
  var target = SpreadsheetApp.openById('1ulIvWOQIH9MRg9RSW6Xg5iHRikOBFJ0L9XQ46Y_r_6I').getSheetByName('Sheet2');

var sheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName('Sheet1'); // name of source sheet. 

var lastrow = sheet.getLastRow();

var sourceData = sheet.getRange(lastrow, 1,1, 12).getValues();


 if(event.values[1]=='Yes')
 { 
  target.appendRow(event.values);
 }


// else if (event.values[1]=='Landlord')
  //   {
  //    var target2 = SpreadSheetApp.OpenById('1ulIvWOQIH9MRg9RSW6Xg5iHRikOBFJ0L9XQ46Y_r_6I').getSheetByName('Sheet4');
  // target2.appendRow(event.values);
// }

}

此代码由" Cooper"(copy last row onFormSubmit if the value on column 2 matches the value)修改,并帮助我获得表单提交的最后一列,如果答案是肯定的,但我的其他人如果不努力移动答案的最后一行"否"到另一张表" Sheet4"。另外,如果你们知道一种方法可以添加更多可能的答案,而且每个答案都会自己的表单很棒!

https://docs.google.com/spreadsheets/d/1ulIvWOQIH9MRg9RSW6Xg5iHRikOBFJ0L9XQ46Y_r_6I/edit?usp=sharing

提前致谢!

1 个答案:

答案 0 :(得分:1)

目前有一个可安装的表单提交触发器for Sheets if the form submits to a spreadsheet。由于此触发器的event.values返回

  

一个数组的值与它们出现的顺序相同   电子表格:

     

['2015/05/04 15:00','amin @ example.com','Bob','27',   '比尔','28','苏珊','25']

您需要做的就是在检查必要条件后,将此数组添加为要复制到的工作表的最后一行。