我有一个公司及其项目组合的表,现在我想创建三个相互依赖的下拉列表,并根据它们来获取数据,这里所有的下拉列表必须同时是依赖和自给自足的,即它们应该根据它们的参数以及当它们一起应用时获取数据。让我给你一个我所需要的快照!让我们采用 5x5 网格,其中前两列是“行业”和“公司名称”,其余是“网络组合”、“登陆页面”和“品牌标识”等附属内容,我希望三个下拉菜单正常工作
这里的问题是所有下拉菜单都应该起作用,最后一个下拉菜单应该具有除前 2 个之外的列标题的值,即行业和公司作为搜索参数
使用这个公式来获取值:
=QUERY(A3:H9, "SELECT * WHERE Col1 = '"&A2&"' AND Col2 = '"&B2&"' AND Col"&MATCH(C2, 2:2, 0)&" <> ''", 1)
但它不返回任何超链接文本,而是返回纯文本
感谢您提供更多信息!至于你的问题......遗憾的是查询只会返回一种数据类型,并且无法按要求运行。我确信有很多不同的方法可以返回您正在寻找的结果。我在示例中使用了 filter 方法。
=Filter({{A3:B9},Indirect(ArrayFormula(TEXTJOIN(", ", TRUE, IF(C2:H2=C1, CHAR(COLUMN(C1:H1) + 64), ""))
)&3&":"&ArrayFormula(TEXTJOIN(", ", TRUE, IF(C2:H2=C1, CHAR(COLUMN(C1:H1) + 64), ""))
)&9)},A3:A9=A1, B3:B9=B1)
它根据您的选择采用自定义数组。
ArrayFormula(TEXTJOIN(", ", TRUE, IF(C2:H2=C1, CHAR(COLUMN(C1:H1) + 64), "")
返回要在间接公式中使用的列字母。您需要调整的只是范围以匹配您尝试过滤的范围。
Indirect(ArrayFormula(TEXTJOIN(", ", TRUE, IF(C2:H2=C1, CHAR(COLUMN(C1:H1) + 64), ""))
)&3&":"&ArrayFormula(TEXTJOIN(", ", TRUE, IF(C2:H2=C1, CHAR(COLUMN(C1:H1) + 64), ""))
)&9)
这将返回 C1 中所选值的列引用。在您的示例中,如果选择“品牌标识”,则公式将返回
Indirect(E3:E9)
。祝您的项目顺利!