如何使用query()在googlesheets中建立搜索表单?

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

请求的行为:我想在googlesheet中创建一个搜索表单,以查询用作数据库的表格。

  1. 用户应该可以通过多次搜索查询表用户可以在工作表的单元格中键入的类别。
  2. 如果用户未输入搜索字符串,则所有项目应该显示。
  3. 此外,用户应该可以在“包括或”和“排除与”搜索。

原始表与搜索表不在同一张纸上。最终的搜索表单应具有10个以上可搜索的类别。

当前状态由于原始表与搜索表单不在同一张表中,因此我的想法是通过动态query()函数导入表。

我创建了两个输入搜索输入字段,并且用户可以在该字段之间切换“或”和“与”。我还创建了一个查询函数,将这3个搜索词连接在一起。“或”和“与”搜索之间的转换有效(使用第一种方法)。

第一种方法:

=QUERY('Geschäftsvorfälle'!A2:AG1000, "select * WHERE A="&B4&" "&D1&" B='"&B5&"'")

第二种方法:

=QUERY('Geschäftsvorfälle'!A2:AG1000, "select * " &if(B5="Alle",, "WHERE B='"&B5&"'") &if(B4="",, "WHERE A="&B4&""))

问题第一种方法与“ OR”搜索一起使用,但是如果我使用多个搜索项,则会返回空白表。如果将一个搜索词留空,也会引发“ VALUE”错误。如果我使用多个搜索字词,即使应该有匹配的行,第二种方法也会引发“ VALUE”错误。

是否有一种方法可以使这种Searchform在Google中起作用床单?如果是,可以使用query()以及我该怎么做它?您能否提供一些示例屏幕截图或代码?

屏幕截图搜索表单:enter image description here

合并查询:enter image description here

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

尝试:

=QUERY('Geschäftsvorfälle'!A2:AG, 
 "where "&TEXTJOIN(" "&D1&" ", 1, 
 IF(B4<>"", " A="&B4, ), 
 IF(B5<>"", " B='"&B5&"'", ), 
 IF(B6<>"", " lower(F) contains '"&LOWER(B6)&"'", )), 1)

0

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