google-apps-script - 如何在谷歌脚本中使用列值过滤器?
问题描述
我正在使用以下脚本从另一个谷歌工作表导入数据,如何在其中添加列值过滤器。
function muscriptedimortrange2() {
var values = SpreadsheetApp.openById("1-fj1z1gxdow5Et031Bty9CXDoCFwsrLdYcFkiJ-6BWQ")
.getSheetByName("URN")
.getRange("A1:J")
.getValues();
var syst = new Date();
SpreadsheetApp.getActiveSpreadsheet()
.getSheetByName("REV")
.getRange(1, 1, values.length, values[0].length)
.setValues(values);
SpreadsheetApp.getActiveSpreadsheet()
.getSheetByName("REV")
.getRange(1, 30, 1, 1)
.setValue(syst);
}
解决方案
您可以使用过滤功能
function muscriptedimortrange2() {
var values = SpreadsheetApp.openById("1-fj1z1gxdow5Et031Bty9CXDoCFwsrLdYcFkiJ-6BWQ")
.getSheetByName("URN")
.getRange("A1:J")
.getValues();
// Here is the filter
values = values.filter(row => row[4] === "Delhi")
var syst = new Date();
SpreadsheetApp.getActiveSpreadsheet()
.getSheetByName("REV")
.getRange(1, 1, values.length, values[0].length)
.setValues(values);
SpreadsheetApp.getActiveSpreadsheet()
.getSheetByName("REV")
.getRange(1, 30, 1, 1)
.setValue(syst);
}
要使用过滤器功能,您需要提供一个评估某些条件的回调。在您的情况下,它是row[4] === "Delhi"
. row[4]
对应于 E 列。如果回调的结果是,true
则包含该行,否则将其丢弃。
推荐阅读
- javascript - 在 forEach 循环 Javascript NodeList 中链接事件处理程序
- mysql - AWS,尝试与 RDS 建立连接时的错误消息含义
- elastic-stack - Filebeat 中未显示自定义字段名称
- javascript - 我想在手机上操作时取消该属性
- javascript - React:生成所有出生日期选择选项
- api - 为什么我需要对变量使用 Postman 预请求才能在请求正文中工作?
- django - Django - 一个视图中的多个模型(表)
- c - 在不使用任何额外指针的情况下反转双链表
- django - 设置中的 Django FORCE_SCRIPT_NAME
- sql-server - SQL Server datetime2 解析问题