OnEdit无法使用Google工作表中的粘贴值

时间:2016-12-24 13:02:13

标签: google-apps-script google-sheets

我正在使用重新定位的脚本将行复制到新的电子表格中。当我输入正确的单元格值时,工作正常("一次性服务"进入第3列)。但我的电子表格与Zapier相关联,并且当该值被Zapped /粘贴时,该行不会被复制。

function onChange(event) {
// assumes source data in sheet named Needed
// target sheet of move to named Acquired
// test column with yes/no is col 4 or D
  var ss = SpreadsheetApp.getActiveSpreadsheet();
  var s = event.source.getActiveSheet();
  var r = event.source.getActiveRange();

  if(s.getName() == "Booking completed" && r.getColumn() == 4 && r.getValue() == "One Time Service") {
    var row = r.getRow();
    var numColumns = s.getLastColumn();
    var targetSheet = ss.getSheetByName("Copy of One Time");
    var target = targetSheet.getRange(targetSheet.getLastRow() + 1, 1);
    s.getRange(row, 1, 1, numColumns).copyTo(target);
  }
}

1 个答案:

答案 0 :(得分:-1)

在"一次性复制"

的A1中尝试此查询
=Query('Booking completed'!A:Z,"Select * where D contains 'One Time Service' and D !=''")

根据列需要调整A:Z或

尝试将此公式放在"一次复制"。

的A1中
=iferror(if('Booking completed'!$D1="One Time Service",'Booking completed'!$A1:$Z1,""))

复制公式。然后将过滤器(数据>过滤器)应用于列D以排除空行。