我正在尝试建立一个公式,以一次搜索数据库中与3个不同条件匹配的所有项目。用户可以通过3个单独的下拉菜单选择这些条件,这些条件可以是非常不同的内容的组合,因此条件A并不总是引用数据库中的同一列。例如。数据库中的一行如下所示:SmallHouse_01 /住宅/小屋/白色立面/沙立面/红色立面/砖/乡村
[在另一个标签上,用户现在可以输入3个所需标准,例如住宅,农村,砖立面理想情况下,该函数现在应该创建一个列表,其中包含数据库中符合这些条件的所有项目名称。
我先尝试使用其他一些公式来完成此操作,直到读到使用查询函数可以最好地解决此类问题,但是由于我是新手,所以我在这里确实迷失了几个问题。我仅设法创建了一个函数,该函数可以根据一个条件返回该列表,并且由于某些原因,该函数也仅在创建下拉条件和与数据库位于同一表中的列表时才起作用。公式的外观对我来说也似乎很模糊
=query(B3:K31,"select B where C='"&V4&"'OR D='"&V4&"'OR E='"&V4&"'OR F='"&V4&"' OR G='"&V4&"'OR H='"&V4&"'OR I='"&V4&"' OR J='"&V4&"' OR K='"&V4&"'")
((在上面的公式B中是项目名称,而V4是我要查找的三个中的条件A)
如果有人可以提供帮助,我将非常高兴。
这会折叠C:K范围进入单列:
=TRANSPOSE(QUERY(TRANSPOSE(DBSHEET!C3:K),,999^99))
然后您可以使用:
=FILTER(DBSHEET!B3:B, REGEXMATCH(TRANSPOSE(QUERY(TRANSPOSE(DBSHEET!C3:K),,999^99)), V4))
以及3个下拉菜单:
=FILTER(DBSHEET!B3:B, REGEXMATCH(TRANSPOSE(QUERY(TRANSPOSE(DBSHEET!C3:K),,999^99)), V4),
REGEXMATCH(TRANSPOSE(QUERY(TRANSPOSE(DBSHEET!C3:K),,999^99)), V5),
REGEXMATCH(TRANSPOSE(QUERY(TRANSPOSE(DBSHEET!C3:K),,999^99)), V6))