Google Script GetRange 与基于列中的值的过滤器并仅选择某些列

2024-01-10

我有一个 35 列和 300 行的数据集。我想要获取仅包含第 30 列(名称)中某些值的行的范围。要过滤数据的名称基于活动报告表中的报告文件单元格 B6。到目前为止我尝试过这个:

var report = SpreadsheetApp.getActiveSpreadsheet();
var tsheet = report.getSheetByName("Transactions");
var areport = SpreadsheetApp.getActiveSheet();
var agent = areport.getRange('B6').getValues();

var criteria = SpreadsheetApp.newFilterCriteria().whenTextEqualTo(agent).build();
var trange = tsheet.getRange().createFilter().setColumnFilterCriteria(30, criteria); // ERROR
var tdata = trange.getValues();

我收到错误异常:参数 () 与 SpreadsheetApp.Sheet.getRange 的方法签名不匹配。

第二部分,我只想获取几列,5,6,7,13,15。我无法使用电子表格应用程序创建另一个过滤器,因此这是创建数组并从中过滤出所需数据的唯一方法那里?我只是想提前思考并减少计算量。


尝试用filter() https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/filter:

var report = SpreadsheetApp.getActiveSpreadsheet();
var tsheet = report.getSheetByName("Transactions");
var areport = SpreadsheetApp.getActiveSheet();
var agent = areport.getRange('B6').getValue();

var data = tsheet.getRange('A1:AI300').getValues();
var tdata = data.filter(function (row) {
    return row[29] == agent && row[5] == 'Closed' ; // starts from 0, column A is 0.
  }); 

从中选择特定列tdata do:

var cr_data = getCols(tdata,[5,6,7, 13, 15]);

where getCols() https://stackoverflow.com/questions/62565632/best-method-to-extract-selected-columns-from-2d-array-in-apps-script定义如下:

function getCols(arr,cols) {
  return arr.map(row =>
    row.filter((_,i) => cols.includes(++i)))
}

最后你可以复制cr_data到特定的地方/工作表,如下所示:

sheet.getRange(1,1,cr_data.length,cr_data[0].length).setValues(cr_data);

关于您问题的第二部分,我想将您重定向到这篇文章:

在应用程序脚本中从二维数组中提取选定列的最佳方法 https://stackoverflow.com/questions/62565632/best-method-to-extract-selected-columns-from-2d-array-in-apps-script

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Google Script GetRange 与基于列中的值的过滤器并仅选择某些列 的相关文章

随机推荐

  • Cckeditor 更新文本区域

    我正在尝试让 ckeditor 工作 显然它没有使用文本区域 因此提交表单时不会在编辑器中提交文本 因为我使用多态关联等 我无法创建 onsubmit 函数来获取 textarea 的值 当提交表单时 所以我发现了这个问题 使用 jQuer
  • Jetpack Compose:如何创建评级栏?

    我正在尝试实施评级栏 我指的是https gist github com vitorprado 0ae4ad60c296aefafba4a157bb165e60 https gist github com vitorprado 0ae4ad
  • Inno Setup:多个下一步按钮

    我想在我的安装程序屏幕上有两个按钮 两个按钮最终都应该将用户带到下一个屏幕 但每个按钮都执行自己的辅助逻辑 是否可以有两个 NextButton 它们都将您带到下一个屏幕 但执行不同的代码 如果做不到这一点 有没有办法以编程方式调用 Wiz
  • 设置 Windows 文件安全性

    我的问题与大多数人相反 我正在用 C 本地生成文件 但是我want将它们标记为已阻止 因此 当用户在 Word 或 Excel 等应用程序中打开它们时 它会在 保护模式 下打开它们 I ve read http answers micros
  • R:向 ggplot2 中的分组直方图添加正态拟合

    我正在寻找最优雅的方法来将正态分布拟合叠加到分组直方图中ggplot2 我知道这个问题之前已经被问过很多次了 但是没有一个建议的选项 比如this one https stackoverflow com questions 7182556
  • 是什么原因导致“java.lang.InknownClassChangeError:vtable存根”?

    是什么原因导致 java lang InknownClassChangeError vtable存根 在我们的应用程序中 我们很少看到此错误随机弹出 到目前为止只出现两次 而且我们运行了很多次 即使重新启动应用程序 使用相同的 jvm ja
  • Flask 将变量从一个函数传递到另一个函数

    正如你所看到的代码 我想传递变量q从函数home 进入功能search app route methods GET POST def home result Mylist query all return render template i
  • DIM 在 Visual Basic 和 BASIC 中代表什么?

    什么是Dim在 Visual Basic 中代表什么 Dim 最初 在 BASIC 中 代表 Dimension 因为它用于定义数组的维度 BASIC 的最初实现是达特茅斯基础 https en wikipedia org wiki Dar
  • AWS CLI 2 无法使用 CLI 更新服务

    我在 ecs 上有一个集群 一切正常 当我使用 aws cli v 1 时 我可以使用如下命令更新我的服务aws ecs update service cluster cluster name service service name ta
  • 执行 io 时 akka jvm 线程与 os 线程

    我在该网站上进行了一些搜索 以寻求帮助理解这一点 但没有找到任何非常清晰的内容 所以我想我应该发布我的用例 看看是否有人可以提供一些线索 我有一个关于在 akka 中用于 io 操作时 jvm 线程与操作系统线程的扩展的问题 来自 akka
  • 适用于英语以外语言的 POS [重复]

    这个问题在这里已经有答案了 我对 nltk 很陌生 这使我可以根据句子的词性来标记句子 但是对于其他语言执行此操作涉及哪些步骤 import nltk sentence I m not sure tokens nltk word token
  • 在私有 github 文件夹中获取 R 文件

    我希望在私人 github 文件夹中获取一些 R 脚本 并通过 R 使其在某些环境中可用 当使用公共 github 文件夹时 这两个命令都可以完成这项工作 get URL 和 source url 来自 devtools 然而 当文件夹是私
  • NSTimer改变图像iPhone编程

    如何在iPhone编程中使用NSTimer定期更改图像 我创建一个用于加载图像的图像视图 我想在 imageview 中显示图像并使用 NSTimer 定期更改图像 我不使用 NSTimer 而是使用一组图像并对它们进行动画处理 查看文档从
  • 在cordova android项目中定义有关buildType的包名称

    如何定义关于我的 buildType 的正确包名称 我有这个命令行来构建 cordova run android device buildType beta 我有这个钩子 在准备之后 它从命令行设置 buildType fs appendF
  • 网格图的常见图例[重复]

    这个问题在这里已经有答案了 在这个可重现的示例网格图中 3 个图有 3 种填充颜色 z 显示为蓝色 col 但在第四个图中只有 1 个 col 因此 z 显示为红色 我只想展示一个常见的传说 我可以做到 但我希望 z 在所有四个图中都是蓝色
  • 如何在网站登录完成之前隐藏 WebView? [本机反应]

    我正在尝试制作一个显示网站的组件WebView然后自动填写用户信息进行登录 我通过向其中注入一些 javascript 来处理自动填充部分WebView与injectedJavascipt prop 但问题是我想隐藏WebView 登录页面
  • 在 Haskell 中实现 Iota

    Iota 是一种小得可笑的 编程语言 仅使用一个组合器 我有兴趣了解它是如何工作的 但是以我熟悉的语言查看其实现会很有帮助 我找到了一个用Scheme编写的Iota编程语言的实现 不过 我在将其翻译成 Haskell 时遇到了一些麻烦 它相
  • 错误:onActivityResult 不覆盖任何内容

    我正在用 Kotlin 为 Android 编写一个语音识别应用程序 class MainActivity AppCompatActivity public override fun onCreate savedInstanceState
  • 如何在 Android 7+ 上阻止“按住后退按钮”退出“锁定任务模式”

    我正在尝试使用 锁定任务模式 如上所述https developer android com work cosu html https developer android com work cosu html 我的目标是让单个应用程序在 信
  • Google Script GetRange 与基于列中的值的过滤器并仅选择某些列

    我有一个 35 列和 300 行的数据集 我想要获取仅包含第 30 列 名称 中某些值的行的范围 要过滤数据的名称基于活动报告表中的报告文件单元格 B6 到目前为止我尝试过这个 var report SpreadsheetApp getAc