首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >存储主数据过滤

存储主数据过滤
EN

Stack Overflow用户
提问于 2021-04-27 10:21:10
回答 1查看 57关注 0票数 0

我创建了一个代码,将不同的g表文件合并到给定文件夹的主电子表格中。现在,我想在代码中创建一个过滤器,它只为标准"ABC“过滤第71列(BT),并将数据合并为一个。你们能帮个哥哥吗?

代码语言:javascript
复制
     function myFunction() {

     var folder = DriveApp.getFolderById("id");

     var filesInterator = folder.getFiles();


     var file;
     var fileType;
     var ssID;
     var combinedData = [];
     var data;


     while(filesInterator.hasNext()){
     file = filesInterator.next();
    fileType = file.getMimeType();
    if(fileType === "application/vnd.google-apps.spreadsheet"){
    ssID = file.getId();
    data = getDataFromSpreadsheet(ssID);
    combinedData = combinedData.concat(data);

    } // if ends here
    }  // while loops ends here

    //Logger.log(combinedData.length);

    var ws = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("QwERTY");
    ws.getRange("A2:BK").clearContent();
    ws.getRange(2,1,combinedData.length,combinedData[0].length).setValues(combinedData);

    }

    function getDataFromSpreadsheet(ssID) {

    var ss = SpreadsheetApp.openById(ssID);
    var ws = ss.getSheetByName("XYZ");
    var data = ws.getRange("A2:KB" + ws.getLastRow()).getValues().filter(r => r[0] != '');

    return data;

    }
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-04-27 12:15:46

您可以添加以下代码行:

代码语言:javascript
复制
let filterCriteria = SpreadsheetApp
    .newFilterCriteria()
    .whenTextContains("ABC")
    .build();
let filter = ws.getRange(1, 71).createFilter();
filter.setColumnFilterCriteria(71, filterCriteria).sort(71, true);

假设ws是您的工作表,您要寻找的条件是when text contains "ABC",那么上面的片段将在BT1单元上的ws工作表上创建一个过滤器。

但是,请记住,根据筛选器的确切标准,您可以通过查看FilterCriteriaBuilder这里可用的方法来修改当前的筛选器。

参考文献

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/67281181

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档