首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >使用google应用程序脚本从电子表格数据中检索行

使用google应用程序脚本从电子表格数据中检索行
EN

Stack Overflow用户
提问于 2012-05-09 22:23:12
回答 2查看 63.8K关注 0票数 26

我正在使用Google应用程序脚本将表单数据写入电子表格。现在,我想从Excel中获取匹配条件的值(例如,按日期、用户名过滤),并使用应用程序脚本显示它们。

我的电子表格中有

代码语言:javascript
复制
+-------------+-----------+----------------------+
| Date        | Username  | Comment              |
+-------------+-----------+----------------------+
| 2012-05-02  | palani    | My first comment     |
| 2012-05-02  | raja      | My second comment    |
| 2012-05-03  | palani    | My third comment     |
| 2012-05-03  | raja      | My fourth comment    |
+-------------+-----------+----------------------+

现在,我希望过滤日期上的2012-05-02和用户名上的raja的数据,并使用app-script (作为web服务运行)中的标签来显示它们。

我所有的搜索都返回使用SpreadsheetApp.getActiveSheet().getDataRange();的解决方案,我认为这不是在工作表中显示1000+行中的一条记录的优化方式。

编辑

现在,我只使用.getValues()。这里显示的数据是示例数据;我的实际工作表目前有15列和5000+行。最终它将增长到数百万,因为这是一个时间表应用程序。我想知道有没有其他的方法来getValues()过滤的行?

在临时单元格上应用=Filter公式也将是一个问题,因为脚本可能会被许多人同时使用。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-05-10 17:18:43

最简单的方法,也是我所知道的,是:

使用以下命令获取数组中的值

代码语言:javascript
复制
var data = SpreadsheetApp.getActiveSheet().getDataRange().getValues();

然后做一个循环

代码语言:javascript
复制
for (i in data) {

在这个循环中检查日期(data[i][0])是否与您正在查找的日期相同,以及名称(data[i][1])是否与您正在查找的名称相同。并将其推送到数组中

代码语言:javascript
复制
var labels=new Array;
label.push( [data[i][0], data[i][1], data[i][2]] );

然后,将所有数据放入此数组中,您可以使用for循环使用标签填充panen Ui

代码语言:javascript
复制
for (i in labels) { ...
票数 36
EN

Stack Overflow用户

发布于 2013-03-07 07:53:39

那么,您可以考虑使用一个单元格,并在其上使用“查询”公式。假设日期在A列,用户名= B列,注释是C列,而空白单元格是D1,您的脚本将如下所示:

代码语言:javascript
复制
SpreadsheetApp.getActiveSheet().getRange("D1").setFormula('Query(A:C,"SELECT A,B,C WHERE B="' + "SomeOne'" + ',1)'; //filter the data and populate to D1 onwards    
SpreadsheetApp.getActiveSheet().getRange("D:F").getValues();//this is the filtered data
票数 9
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/10518084

复制
相关文章

相似问题

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