Google Sheet 使用查询功能进行高级搜索
Google Sheet Advanced Search using Query function
我正在尝试使用 Google 表格来管理数据库。我已经弄清楚如何使用查询功能进行简单搜索,但我想知道是否可以进行高级搜索。这就是我的意思:
Example I made(参考第二个sheet)
每行有多个属性,搜索sheet有多个字段可以输入。我希望能够搜索一个而不必同时填写其他字段,但我不确定如何乱用查询功能来获得我需要的内容。
非常感谢任何帮助。谢谢!
where 只能出现在过滤的开头,不能出现在每个条件之前。
这可以通过 FILTER 和一些 if 语句来完成,或者保留查询并像这样类似地调整它:
= IFERROR(
query(
Database!B3:G13,
"select B,C,D,E,F,G
where " &
IF(LEN($C), "lower(C) contains lower('"&$C&"')", "1=1") & " and " &
IF(LEN($E), "lower(D) contains lower('"&$E&"')", "1=1") & " and " &
IF(LEN($G), "lower(E) contains lower('"&$G&"')", "1=1") & " and " &
IF(LEN($I), "lower(F) contains lower('"&$I&"')", "1=1") & " and " &
IF(LEN($K), "lower(G) contains lower('"&$K&"')", "1=1")),
"No Results")
它主要检查过滤器是否已指定,如果未指定,则将 1=1 (TRUE) 作为占位符。
我正在尝试使用 Google 表格来管理数据库。我已经弄清楚如何使用查询功能进行简单搜索,但我想知道是否可以进行高级搜索。这就是我的意思:
Example I made(参考第二个sheet)
每行有多个属性,搜索sheet有多个字段可以输入。我希望能够搜索一个而不必同时填写其他字段,但我不确定如何乱用查询功能来获得我需要的内容。
非常感谢任何帮助。谢谢!
where 只能出现在过滤的开头,不能出现在每个条件之前。 这可以通过 FILTER 和一些 if 语句来完成,或者保留查询并像这样类似地调整它:
= IFERROR(
query(
Database!B3:G13,
"select B,C,D,E,F,G
where " &
IF(LEN($C), "lower(C) contains lower('"&$C&"')", "1=1") & " and " &
IF(LEN($E), "lower(D) contains lower('"&$E&"')", "1=1") & " and " &
IF(LEN($G), "lower(E) contains lower('"&$G&"')", "1=1") & " and " &
IF(LEN($I), "lower(F) contains lower('"&$I&"')", "1=1") & " and " &
IF(LEN($K), "lower(G) contains lower('"&$K&"')", "1=1")),
"No Results")
它主要检查过滤器是否已指定,如果未指定,则将 1=1 (TRUE) 作为占位符。