根据条件将数据传输到两个不同的工作表

时间:2018-12-31 21:02:03

标签: google-sheets copy row spreadsheet transfer

需要有关脚本的帮助,该脚本将根据工作表2中的行标准将数据从工作表1传输到工作表2,然后再传输到工作表3。

我从此基本代码开始,效果很好!

function onEdit() {

var ss = SpreadsheetApp.getActiveSpreadsheet();
var s = SpreadsheetApp.getActiveSheet();
var r = SpreadsheetApp.getActiveRange();

if(s.getName() == "In Progress" && r.getColumn() == 16 && r.getValue() == true) {
var row = r.getRow();
var numColumns = s.getLastColumn();
var targetSheet = ss.getSheetByName("Completed");
var target = targetSheet.getRange(targetSheet.getLastRow() + 1, 1);
s.getRange(row, 1, 1, numColumns).moveTo(target);
s.deleteRow(row);

^上面的代码适用于我最初设置的内容,该内容是在第16列中选中复选框时传输并删除该行。但是,我想进一步细化。在第一张工作表中,有一个包含多个选项的下拉菜单,其中两个包含“欺诈退款”和“可能的欺诈”。将数据移到第二张纸后,如果选择了这些选项中的任何一个,并且不从第二张纸中删除该行,我希望它们转移到第三张纸。我一直在使用查询和导入范围来获取要传输的数据,但经常看到查询功能非常慢:= QUERY(IMPORTRANGE(“ my url”,“ Completed!A:O”),“ Select *哪里Col13包含“欺诈””)。

我希望将其作为脚本设置,这样我可以将第三张纸中的数据通过脚本传送给客户端,从而使运行更快。

以下是我正在使用的工作表的示例: https://docs.google.com/spreadsheets/d/1OYythpkXNhXPiDVeJHXD3qkmpuU4Y8LTAHh2WM6ucEw/edit?usp=sharing

0 个答案:

没有答案