【问题标题】:"ONLY FILTER IF" Function?“ONLY FILTER IF”功能?
【发布时间】:2019-08-27 16:28:08
【问题描述】:

我有一长串句子(Essay Sentences)及其属性,我需要过滤掉它们,然后只将特定的句子加在一起。我正在使用新的 Filter() 函数。我有四种不同的过滤器选项(级别、AP 分数、Hellman 分数和最高级别),我正在尝试找到一种方法来选择一些过滤器,而不是全部。

现在我有这个,它需要 'Essay Sentences'!H5:H9999 并具有所有过滤器...

=SUM(FILTER(FILTER(FILTER(FILTER('散文句'!H5:H9999, '散文句'!G:G=B2, 0), '散文句'!C:C=C2, 0) , '散文句'!D:D=D2, 0), '散文句'!E:E=E2, 0))

我遇到的问题是,如果我不想在一个实例中应用特定过滤器,如何忽略它。

例如,我可能想要过滤掉所有“级别”不为 4100 (G4) 的句子。在此示例中,我不想使用“AP 分数”列过滤掉任何内容,但在另一个示例中,我可能想要。

有没有办法拥有多个过滤器,但仍然可以忽略一个?

【问题讨论】:

  • 您能否简化您的示例,发布一些示例数据并解释您想要实现的目标?作为新用户,请仔细阅读:编辑您的问题以提供更多详细信息。不要将详细信息放入 cmets。然后发表评论以提醒关注此问题的人。如果您嵌套 4 个过滤器函数,那么结果就是这样。如果要更改其中一个过滤器,则需要更改公式。

标签: excel excel-formula


【解决方案1】:

注意:问题与 Excel 的新 Filter() 函数有关,它是新动态数组公式的一部分,目前仅适用于某些 Office 365 预览体验成员版本。

您可以将不同的参数相乘,而不是嵌套多个 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))

这基本上是一个条件之间的过滤器。 (要获得 OR 结果,请使用+ 运算符而不是*。)

由于您的比较值在单元格中,您可以通过将特定值放入该单元格来关闭过滤条件,例如文本“全部”。然后,您可以在过滤条件中使用 IF 条件,当单元格包含“全部”时返回 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))))

【讨论】:

  • 非常感谢您的帮助!
猜你喜欢
  • 1970-01-01
  • 2022-11-23
  • 2021-05-12
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2023-03-27
  • 2021-05-16
  • 1970-01-01
相关资源
最近更新 更多