将基于“是”的行移至新书/工作表

时间:2016-09-11 19:10:30

标签: google-apps-script google-sheets

我找到了大量这些脚本。但不是我需要的。我正在寻找一个可以链接到触发器的脚本。当在第8列(H)中以“是”触发每一行时,将移动到另一个工作表,其中包含单独的Google表格ID。 (表1)。我的脚本有效。但它需要新表的所有内容。我只需要在第8栏(H)中有“是”的那些。我找到了编辑同一本书的脚本。但不是触发另一个Google表格ID。

function CopyDataToNewFile() {
    var sourceSheet = SpreadsheetApp.openById('Source ID').getSheetByName('Admin'),
        sourceValues = sourceSheet.getRange(4, 1, sourceSheet.getLastRow(), sourceSheet.getLastColumn()).getValues(),
        targetSheet = SpreadsheetApp.openById('Destination ID').getSheetByName('Sheet1');
    targetSheet.getRange(targetSheet.getLastRow() + 1, 1, sourceValues.length, sourceValues[0].length).setValues(sourceValues);
    sourceSheet.getRange(6, 1, sourceSheet.getLastRow(), sourceSheet.getLastColumn()).clearContent();
}

1 个答案:

答案 0 :(得分:1)

添加一种过滤sourceValues的方法。为此,您可以添加循环或使用2D arrays library或其他类似库中的filterByText(Object[][] data, int columnIndex, String value)

也许最简单的解决方案是使用FILTER或QUERY内置函数在脚本获取数据之前对其进行过滤。