我正在尝试找到一种方法,可以将表单提交的最后一行复制到正在使用的电子表格中的另一张纸上。所有这些将基于第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

提前致谢!

最佳答案

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


  值与出现在数组中的顺序相同的数组
  电子表格:
  
  ['2015/05/04 15:00','amin@example.com','Bob','27',
  '比尔','28','苏珊','25']


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

09-11 18:46
查看更多