我有一个部门的行业和子行业的列表,以及几个公司及其部门、行业和子行业的列表。
到目前为止,我已经根据一个参数进行了过滤(在本例中是子行业)。公式是这样的:
=FILTER ( J2:M12 ; M2:M12 = filter ( H2:H8 ; G2:G8 = TRUE() ) )
我想根据复选框是真还是假来过滤公司列表。如果选中多个复选框,则在列表中显示这些公司,只显示唯一的值。
如果可能的话,不要使用查询功能,因为我想维护未来的超链接。
例如,如果我只选中能源的复选框,它将只显示所有能源公司。如果我只选择了石油、天然气和消耗性燃料的复选框,它将只显示所有的石油、天然气和消耗性燃料公司。
但如果我同时选择了石油、天然气和消耗性燃料以及能源设备和服务,它将显示这些公司。或者选择不同的子行业,但目的是显示所选组中的公司。
提前谢谢,如果有什么不清楚的地方,请告诉我。
示例的扩展:https://docs.google.com/spreadsheets/d/1c9cp0J4m1M-HbnDr_TliknuPSXHgdqkuuzAvzK75zC8/edit?usp=sharing
发布于 2021-02-24 11:26:08
我不建议将筛选复选框和筛选结果放在与原始数据相同的页面上。它会将你放入框中,使得向原始数据列表添加新项目变得困难,并且需要对公式进行更改。当你将新项目添加到完整的列表中时,它还会进一步降低你的结果,这对你来说并不方便。
我已经在您的示例电子表格中添加了两个新的工作表,两个选项卡都以亮绿色突出显示。这两个工作表可以一起工作。它们根本不会引用您的原始工作表。
"Todos“表将保存您的原始数据的完整列表。在"Filtrar“工作表中,您可以选择选项并查看过滤结果。
其中一个公式是Filtrar!J2
格式
=ArrayFormula(IFERROR(FILTER(Todos!A2:D;Todos!A2:A<>"";VLOOKUP(Todos!B2:B;{B2:B\A2:A};2;FALSE);VLOOKUP(Todos!C2:C;{E2:E\D2:D};2;FALSE);VLOOKUP(Todos!D2:D;{H2:H\G2:G};2;FALSE))))
这个公式用一个排除空白行的条件过滤完整的“待办事项”列表,然后是三个VLOOKUP
条件,每个条件基本上相同,即在过滤器列表中查找特定的条件,并返回它是否为TRUE
。(您在公式中看不到单词TRUE
,因为对于每个VLOOKUP
,唯一可能的结果是TRUE
或FALSE
,因为这是复选框的唯一可能。)
正如您将看到的,我还在"Filtrar“表中添加了一些格式。简单、清晰的格式可以使数据更容易阅读。
您也不需要复选框标签列中的冗余,所以我删除了它们。
发布于 2021-02-24 07:50:25
我尝试复制您当前的公式,并在筛选器中添加了多个条件。请参考下面的公式:
=FILTER(J2:M12;
IF(COUNTIF(A2:A8; TRUE)>0;MATCH(K2:K12;FILTER(B2:B8;A2:A8);0);N(K2:K12)<>"");
IF(COUNTIF(D2:D8; TRUE)>0;MATCH(L2:L12;FILTER(E2:E8;D2:D8);0);N(L2:L12)<>"");
IF(COUNTIF(G2:G8; TRUE)>0;MATCH(M2:M12;FILTER(H2:H8;G2:G8);0);N(M2:M12)<>""))
默认情况下,如果在可用复选框中未选中任何项目,则将显示表中的所有数据。如果这解决了你的问题,请让我知道。
https://stackoverflow.com/questions/66335703
复制相似问题