Google表格-根据输入的值将行推送到第二个电子表格

时间:2018-10-10 15:27:02

标签: google-sheets

我是这个新手,

我有2个Google电子表格:

电子表格A:活动工作表,其中包含多个标签,其中包含要推送到B的信息。 电子表格B:具有单个标签的电子表格。标题和结构与电子表格A相同。

基于用户在电子表格A的任何一个标签的第一列中选​​择答案“是”,我希望整行移至电子表格B。

我修改了一个脚本,该脚本可用于单个电子表格(即,将行从一个标签移动到另一个标签),以尝试使其在电子表格之间工作:

function onEdit(event) {
  var ss = SpreadsheetApp.getActiveSpreadsheet();
  var tss = SpreadsheetApp.openById('B').getSheetByName('Sheet 1');
  var s = event.source.getActiveSheet();
  var r = event.source.getActiveRange();

  if(r.getColumn() == 1 && r.getValue() == "Yes") {
    var row = r.getRow();
    var numColumns = s.getLastColumn();
    var target = tss.getRange(targetSheet.getLastRow() + 1, 1);
    s.getRange(row, 1, 1, numColumns).moveTo(target);
  }
}

也许不用说,这不会产生任何结果。搜索了许多帖子和论坛后,我仅看到个人发布有关如何在选项卡之间而不是在完全独立的电子表格之间移动行的信息。甚至有可能这样做吗?如果是这样,我在脚本中做错什么了?

非常感谢您抽出宝贵时间来协助您。

安东尼

1 个答案:

答案 0 :(得分:0)

在注释部分中,与OP对话之后,表明原始电子表格没有被保密。

因此,可以通过在电子表格中使用IMPORTRANGE()和QUERY()的组合来提供所需的功能,而无需使用Google App脚本。例如,

=QUERY(IMPORTRANGE(url,range),"select A where B matches 'Yes'") or similar

这将从第二个电子表格中导入数据,然后QUERY()函数充当根据特定条件过滤导入范围的一种方式。

授权导入的范围后,电子表格的编辑者可以通过以下方式访问它:删除或修改查询。如果需要,可以通过保护该特定单元格来防止这种情况。