基于来自另一个单元的动态标准过滤功能

时间:2015-05-21 13:42:23

标签: google-sheets

在Google电子表格中,我尝试创建一个动态过滤器,该过滤器取决于另一个单元格的内容。其实我需要这样的东西:

ListView

任何人都知道如何创建这样的动态过滤器?

3 个答案:

答案 0 :(得分:0)

试试这个:

=filter(    A70:A73; OR(  AND(A1=1; E70:E73="A") ; AND(A1=2; F70:F73="B")  )    )

Obs:我通常"缩进"与空间这些大公式。但在某些情况下,最好创建具有​​部分结果的隐藏列,以便公式不会太吓人。

Obs2:锁定你不想改变的列或行也很好,如下所示:

=filter(    $A$70:$A$73; OR(  AND($A$1=1; $E$70:$E$73="A") ; AND($A$1=2; $F$70:$F$73="B")  )    )

答案 1 :(得分:0)

我发现了一个纠结的解决方案。 首先,我将问题分成了一小部分。

我创建了一个额外的列,我称之为“过滤器”列。 在此过滤器列旁边,我有一个带有所有可能过滤器选项的矩阵

在此电子表格中,您可以看到此解决方案的示例

Dynamic matrix filter spreadsheet

要确定某个项目是否是矩阵的一部分,我只需使用“Countifs” 因此对于矩阵中的每一行:

=if($D$1<>"";COUNTIFS(C4:G4;$D$1);"")

字段$ D $ 1是过滤器的输入。这使得过滤器变得动态,因为您将每个公式都放在此字段中,但在此示例中,单元格只是带有文本的字段

过滤柱(B4:B9)产生一个数字。这个数字用于制作过滤器

=filter(A4:A9;B4:B9=1)

如果B4:B9 = 1,可以查看,但也可以将单元格设置为“1”,这样您就可以获得更大的灵活性,并以您想要的每种方式使过滤器动态化。

答案 2 :(得分:0)

另一种方式可能更多&#34;可扩展&#34; (但也许不是):

=FILTER(CHOOSE(A1,A70:D73,A70:A73,...),CHOOSE(A1,E70:E73,F70:F73,...)=CHOOSE(A1,"A","B",...)