我有一长串句子(作文句)及其属性,我需要过滤掉这些属性并将其仅添加到特定的句子中。我正在使用新的Filter()函数。我有四个不同的过滤器选项(级别,AP分数,Hellman分数和最高级别),并且我试图找到一种选择某些而非全部过滤器的方法。
现在我有了这个,它带有'Essay Sentences'!H5:H9999并具有所有过滤器...
= SUM(FILTER(FILTER(FILTER(FILTER('Essay Sentences !! H5:H9999,'Essay Sentences !! G:G = B2,0),'Essay Sentences'!C:C = C2,0)) ,'Essay Sentences !! D:D = D2,0),'Essay Sentences'!E:E = E2,0))
我遇到的问题是,如果我不希望某个实例应用特定的过滤器,那么该如何忽略它。
例如,我可能想过滤掉所有没有“等级”为4100(G4)的句子。在此示例中,我不想使用“ AP得分”列过滤掉任何内容,但在另一个示例中,我可能想要过滤。
是否可以使用多个过滤器,但仍然可以忽略一个过滤器?
答案 0 :(得分:1)
注意:,问题是有关Excel的新Filter()函数的,该函数是新的动态数组公式的一部分,当前仅可用于某些Office 365 Insider版本。
您可以乘以不同的参数,而不是嵌套几个FILTER()函数
=FILTER('Essay Sentences'!H5:H9999, ('Essay Sentences'!G:G=B2)*('Essay Sentences'!C:C=C2)*('Essay Sentences'!D:D=D2)*('Essay Sentences'!E:E=E2))
这基本上是一个在条件之间使用AND的过滤器。 (要获得OR结果,请使用+
运算符而不是*
。)
由于比较值位于单元格中,因此您可以通过将特定值(例如文本“ all”)放入该单元格来关闭过滤条件。然后,您可以在过滤条件内使用IF条件,当单元格包含“ all”时该条件返回true。
在以下屏幕快照中查看此工作。 H8单元格中的公式为
=FILTER(Sheet6!$B$3:$E$10,
(IF(I2="all",TRUE,Sheet6!$B$3:$B$10=I2))*
(IF(I3="all",TRUE,Sheet6!$C$3:$C$10=I3))*
(IF(I4="all",TRUE,Sheet6!$D$3:$D$10=I4))*
(IF(I5="all",TRUE,Sheet6!$E$3:$E$10=I5)))
,它返回过滤后的表。您可以只过滤值列,然后将其与单元格K2中的公式求和,即
=SUM(FILTER(Sheet6!$F$3:$F$10,
(IF(I2="all",TRUE,Sheet6!$B$3:$B$10=I2))*
(IF(I3="all",TRUE,Sheet6!$C$3:$C$10=I3))*
(IF(I4="all",TRUE,Sheet6!$D$3:$D$10=I4))*
(IF(I5="all",TRUE,Sheet6!$E$3:$E$10=I5))))