首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >google电子表格中的查询

google电子表格中的查询
EN

Stack Overflow用户
提问于 2017-03-28 21:14:57
回答 1查看 16.3K关注 0票数 2

我需要从表中查询数据,对于where子句使用另一个查询的结果。

例如:

如何在此选项卡上查询A列上的日期大于或等于日期的行,从下面第二个图像中显示的选项卡上的另一个查询中查询。我只想在查询中写入项目编号,或者在项目与当前项目相等的情况下,使用当前项目号和开始日期和结束日期的查询单元格。

查询将如下所示:

你能帮帮我吗?

EN

回答 1

Stack Overflow用户

发布于 2017-03-29 06:13:44

当然,如果您使用适当的语法,这是可能的。

我建议query + filter组合:

Sheet1

代码语言:javascript
复制
Date    Col1    Col2
3/29/2017   a   a2
3/30/2017   b   b3
3/31/2017   c   c4
4/1/2017    d   d5
4/2/2017    e   e6
4/3/2017    f   f7
4/4/2017    g   g8
4/5/2017    h   h9
4/6/2017    i   i10
4/7/2017    j   j11
4/8/2017    k   k12

Sheet2

代码语言:javascript
复制
Project   Date1         Date2
1         3/29/2017     4/1/2017
2         4/2/2017      4/5/2017
3         4/6/2017      4/8/2017

Sheet3:结果公式

公式是:

=QUERY({Sheet1!A:C},"select * where Col1 >= date '"&TEXT(FILTER(Sheet2!B:B,Sheet2!A:A=1),"YYYY-MM-DD")&"' and Col1 <= date '"&TEXT(FILTER(Sheet2!C:C,Sheet2!A:A=1),"YYYY-MM-DD")&"'")

结果:

代码语言:javascript
复制
Date    Col1    Col2
3/29/2017   a   a2
3/30/2017   b   b3
3/31/2017   c   c4
4/1/2017    d   d5

最好只使用一次过滤器:

=FILTER(Sheet2!B:C,Sheet2!A:A=1)

获取项目#1的日期,然后引用它的结果。

甚至将其转换为日期格式:

=FILTER(text(Sheet2!B:C,"\dat\e 'YYYY-MM-DD'"),Sheet2!A:A=1)

得到两个字符串:

代码语言:javascript
复制
date '2017-03-29'   date '2017-04-01'

我还尝试使用更短的查询:select * where Col1 between date '2017-03-29' and date '2017-04-01',但不支持between关键字。

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

https://stackoverflow.com/questions/43080088

复制
相关文章

相似问题

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