繁体   English   中英

导入前过滤谷歌表格导入数据

[英]Filtering google sheets import data before import

我有一个从谷歌表格导入数据的脚本。 在将数据导入新工作表之前,我想对其进行过滤。 在 Column2 中列出了我们的成本中心,所有以“41”开头的成本中心都应该被过滤并导入到工作表中。 现在我在说按字符串以“41”开头的 column2 过滤时有点受阻。

  // Gets the active sheet.
  var sheet = SpreadsheetApp.getActiveSheet();
  
  // Gets a different spreadsheet from Drive using
  // the spreadsheet's ID. 
  var employeeActuals = SpreadsheetApp.openById(
    "1yL_0eB9b6CQLOshjPglDA-MnP2HZdLeIrKh4DO-qN0c" 
  );

  // Gets the sheet, data range, and values of the
  // spreadsheet stored in employeeActuals.
  var employeeActualsSheet = employeeActuals.getSheetByName("Overview")
  var range = employeeActualsSheet.getDataRange();
  var rangeValues = range.getValues();

  var databasis = rangeValues.filter(function(Item){return Item[1] === String().startsWith(["41"]) })

  Logger.log(databasis); ```

尝试这样的事情:

function myfunk() {
  const sheet = SpreadsheetApp.getActiveSheet();
  const ss = SpreadsheetApp.openById(gobj.globals.testsourceid);
  const esh = ss.getSheetByName("Sheet1")
  const range = esh.getDataRange();
  const vs = range.getValues();
  let data = vs.filter(e => e[0].startsWith('17'))

  Logger.log(data);
}

数据:

列1 列2 列3
10,1 10,2 10,3
11,1 11,2 11,3
12,1 12,2 12,3
13,1 13,2 13,3
14,1 14,2 14,3
15,1 15,2 15,3
16,1 16,2 16,3
17,1 17,2 17,3
18,1 18,2 18,3
19,1 19,2 19,3
20,1 20,2 20,3

output:

12:09:45 PM Notice  Execution started
12:09:45 PM Info    [[17,1, 17,2, 17,3]]
12:09:47 PM Notice  Execution completed

getValues()方法返回一个二维字符串,因此为了过滤掉值,您还需要一个循环才能正确过滤:

var filterVals = [];
for (let i = 0; i < rangeValues.length; i++) {
    var values = rangeValues[i].filter(element => element.toString().startsWith('41'));
    filterVals.push(values);
}
let databasis = filterVals.filter(element => element.toString() != "")
Logger.log(databasis);

参考

您可以在导入前过滤数据。 Gsheets 允许使用查询公式或过滤公式来做到这一点。 流程将是 employeeActualsSheet -> 已过滤的 employeeActualsSheet -> 导入数据。 问题 - 您的数据目的地是什么?

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM