根据复选框创建列表
Create a list depending on the checkboxes
我有一个行业和子行业的列表,以及几个公司及其行业、行业和子行业的列表。
到目前为止,我一直根据一个参数(在本例中为子行业)进行过滤。这是公式:
=FILTER ( J2:M12 ; M2:M12 = filter ( H2:H8 ; G2:G8 = TRUE() ) )
我想根据复选框是对还是错来过滤公司列表。如果多个复选框被 selected,在列表中显示这些公司,只有唯一值。
如果可能,请不要使用查询功能,因为我想维护未来的超链接。
例如,如果我只select能源的复选框,它只会显示所有能源公司。如果我只 select 油气和消耗性燃料复选框,它将只显示所有油气和消耗性燃料公司。
但是如果我 select 油气和消耗性燃料以及能源设备和服务,它会显示这些公司。或者 selecting 不同的子行业,但目的是显示 selected 组中的公司。
提前致谢,如果有什么不清楚的地方请告诉我。
示例的宣传单:https://docs.google.com/spreadsheets/d/1c9cp0J4m1M-HbnDr_TliknuPSXHgdqkuuzAvzK75zC8/edit?usp=sharing
我尝试复制您当前的公式并在 FILTER 中添加以在其中包含多个条件。请看下面的公式:
=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)<>""))
默认情况下,如果没有在可用的复选框中选中任何项目,这将显示 table 中的所有数据。如果这能解决您的问题,请告诉我。
我不建议将筛选复选框和筛选结果与原始数据放在同一页面上。它会让你陷入困境,很难将新项目添加到原始数据列表并需要更改公式。当您向完整列表中添加新项目时,它还会使您的结果越来越低,这对您来说并不方便。
我已将两个新的 sheet 添加到您的样本传播sheet,两个选项卡都以亮绿色突出显示。这两个 sheet 一起工作。他们根本没有参考您的原作 sheet。
“待办事项”sheet 将保留您的完整原始数据列表。 “Filtrar”sheet 是您将 select 选项和查看过滤结果的地方。
一个公式在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”添加了一些格式 sheet。简单、清晰的格式可以使数据更易于阅读。
您也不需要复选框标签列中的冗余,所以我删除了那些。
我有一个行业和子行业的列表,以及几个公司及其行业、行业和子行业的列表。
到目前为止,我一直根据一个参数(在本例中为子行业)进行过滤。这是公式:
=FILTER ( J2:M12 ; M2:M12 = filter ( H2:H8 ; G2:G8 = TRUE() ) )
我想根据复选框是对还是错来过滤公司列表。如果多个复选框被 selected,在列表中显示这些公司,只有唯一值。
如果可能,请不要使用查询功能,因为我想维护未来的超链接。
例如,如果我只select能源的复选框,它只会显示所有能源公司。如果我只 select 油气和消耗性燃料复选框,它将只显示所有油气和消耗性燃料公司。
但是如果我 select 油气和消耗性燃料以及能源设备和服务,它会显示这些公司。或者 selecting 不同的子行业,但目的是显示 selected 组中的公司。
提前致谢,如果有什么不清楚的地方请告诉我。
示例的宣传单:https://docs.google.com/spreadsheets/d/1c9cp0J4m1M-HbnDr_TliknuPSXHgdqkuuzAvzK75zC8/edit?usp=sharing
我尝试复制您当前的公式并在 FILTER 中添加以在其中包含多个条件。请看下面的公式:
=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)<>""))
默认情况下,如果没有在可用的复选框中选中任何项目,这将显示 table 中的所有数据。如果这能解决您的问题,请告诉我。
我不建议将筛选复选框和筛选结果与原始数据放在同一页面上。它会让你陷入困境,很难将新项目添加到原始数据列表并需要更改公式。当您向完整列表中添加新项目时,它还会使您的结果越来越低,这对您来说并不方便。
我已将两个新的 sheet 添加到您的样本传播sheet,两个选项卡都以亮绿色突出显示。这两个 sheet 一起工作。他们根本没有参考您的原作 sheet。
“待办事项”sheet 将保留您的完整原始数据列表。 “Filtrar”sheet 是您将 select 选项和查看过滤结果的地方。
一个公式在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”添加了一些格式 sheet。简单、清晰的格式可以使数据更易于阅读。
您也不需要复选框标签列中的冗余,所以我删除了那些。