创建一个查询,该查询将基于Google表格中下拉菜单中的多个条件进行过滤

问题描述 投票:0回答:1

我正在尝试创建一个仪表板,该仪表板将根据多个条件过滤数据。

这里是电子表格的副本:https://docs.google.com/spreadsheets/d/1sJcsu0VpnLBi7wh4l-NEFdYfkxWgC6vpX8AeN9u-KlQ/edit?usp=sharing

我很难让查询按我的要求工作。

我已经为几种搜索条件(名称,报告者,事件类型,位置,开始日期,结束日期)创建了数据验证单元。

根据表格的设置方式,学生姓名分为四列。我可以使用以下公式根据学生姓名进行过滤:= QUERY('Form Data'!$ A $ 2:M,“ Select *其中B ='”&E1&“'或C ='”&E1&“' OR D ='“&E1&”'OR E ='“&E1&”'“,0)

[当我尝试添加其他条件时,该公式分解。我试过了:

选择*,其中B ='“&E1&”'OR C ='“&E1&”'OR D ='“&E1&”'OR E ='“&E1&”'AND D> =日期'“&B11&”'AND A <=使用日期'“&B12&”'尝试过滤日期,但出现错误。它说日期格式不正确,但按应有的格式设置了yyyy / MM / dd。

我也尝试过:= QUERY('Form Data'!$ A $ 2:M,“ Select *其中B ='”&E1&“'OR C ='”&E1&“'OR D ='”&E1&“'OR E = '“&E1&”'“&if(B5 =” All“ ,,”“&B5&”'“)),0);选择“全部”时此方法有效,但当我从下拉列表中选择另一个名称时无效。

任何帮助将不胜感激

google-sheets google-sheets-formula google-sheets-query google-query-language
1个回答
0
投票

尝试:

=QUERY('Form Data'!A2:M, 
 "where (B = '"&E1&"' 
     or  C = '"&E1&"' 
     or  D = '"&E1&"' 
     or  E = '"&E1&"') 
    and  A >= date '"&TEXT(B11, "yyyy-mm-dd")&"'
    and  A <= date '"&TEXT(B12, "yyyy-mm-dd")&"'", 0)

0

© www.soinside.com 2019 - 2024. All rights reserved.