Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/google-sheets/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Checkbox 使用复选框和搜索框动态查询或过滤Google工作表中的表_Checkbox_Google Sheets_Filter_Google Sheets Formula_Google Sheets Query - Fatal编程技术网

Checkbox 使用复选框和搜索框动态查询或过滤Google工作表中的表

Checkbox 使用复选框和搜索框动态查询或过滤Google工作表中的表,checkbox,google-sheets,filter,google-sheets-formula,google-sheets-query,Checkbox,Google Sheets,Filter,Google Sheets Formula,Google Sheets Query,我有一个歌曲数据库,希望使用过滤器或查询返回结果的仪表板上的搜索框和复选框。这看起来很简单,但几天后我找不到我想要的东西。查询似乎超级强大,但主要是在硬编码时。我需要一个用户友好的界面!我看过一些关于合并下拉框的教程,但我不一定要使用这些 我不知道如何将IF()语句添加到查询中的WHERE子句中 =QUERY(A4:G9, "WHERE IF '"(C2=TRUE, "' '"C CONTAINS TRUE"'",1)) 这就是我的出发点,我知道这是错误的 目标:勾选MP3复选框时,将列出所有

我有一个歌曲数据库,希望使用过滤器或查询返回结果的仪表板上的搜索框和复选框。这看起来很简单,但几天后我找不到我想要的东西。查询似乎超级强大,但主要是在硬编码时。我需要一个用户友好的界面!我看过一些关于合并下拉框的教程,但我不一定要使用这些

我不知道如何将IF()语句添加到查询中的WHERE子句中

=QUERY(A4:G9, "WHERE IF '"(C2=TRUE, "' '"C CONTAINS TRUE"'",1))
这就是我的出发点,我知道这是错误的

目标:勾选MP3复选框时,将列出所有带有MP3的歌曲。但当我也勾选WAV框时,只剩下带有MP3和WAV的歌曲,等等

我会将源数据和搜索键保留在不同的选项卡上。最终,我也喜欢将范围添加到“长度”和“bpm”框中

如果您对这些方法或公式有任何建议,我们将不胜感激。

请尝试:

=IFERROR(QUERY(A4:G, "where "&TEXTJOIN(" and ", 1, 
 IF(B2=TRUE, "B=TRUE", ), 
 IF(C2=TRUE, "C=TRUE", )), 1), QUERY(A4:G))


更新:
=IFERROR(查询(A4:G,“where”和TEXTJOIN(“and”),1,
如果(B2=TRUE,“B=TRUE”,),
如果(C2=TRUE,“C=TRUE”,),
如果(F1“,”下部(D)包含“,”&F1&“,”),1),则查询(A4:G))
请阅读:


我宁愿把0=0放在满足要求的地方之后,而不是一个iferror,这太棒了@FarmerGreif我读了那个文件,谢谢分享。我是一个新来查询的人,所以我仍然没有从阅读中得到一些更精细的语法点。我对如何将常规的GoogleSheets公式与查询语言集成仍然有点困惑。显然,使用符号和是关键。您的代码工作得很好,但是如何将搜索框集成到该参数字符串中呢<代码>其中D包含“&C2&”您的代码看起来很好,只需构建更多的if语句。好的,我让这段代码开始工作:
=QUERY(A4:G9,“SELECT*WHERE 0=0”&if($B$2)和B=TRUE“,”)&if($C$2”和C=TRUE“,”)&if($D$2“,”和D包含“&$D$2&“,”),”),1)
这项工作并将返回满足此条件的所有参数。但是,如果我想返回所有符合此标准或该标准的歌曲,我该如何编码?我尝试将一些
替换为
,但结果忽略了我在这些框中的输入<代码>=查询(A4:G9,“选择*其中0=0”&IF($B$2,“或B=TRUE)”)&IF($C$2,“或C=TRUE“,”)&IF($D$2“,”或D包含“&$D$2&“,”),1)
=IFERROR(QUERY(A4:G, "where "&TEXTJOIN(" and ", 1, 
 IF(B2=TRUE, "B=TRUE", ), 
 IF(C2=TRUE, "C=TRUE", ), 
 IF(F1<>"", "lower(D) contains '"&F1&"'", )), 1), QUERY(A4:G))
=query(A4:G9,"select A,B,C where 0=0"&IF($B$2," and B=TRUE","")&IF($C$2," and C=TRUE",""),1)