首页 > 解决方案 > 基于另一个单元格的Excel过滤器公式如果为空则获取任何

问题描述

所以我试图解决这个问题一段时间,但似乎无法弄清楚。

我正在使用 FILTER 公式来根据单元格的值过滤表中的一组记录(实际上是多个条件,但不是重点)。问题是,如果条件单元格有一些文本,我希望公式过滤记录,但如果它是空的,我希望它返回所有记录,就好像没有过滤器一样,我不能正确...

这是我使用的公式:

=FILTER(Table;SI(D2<>"";Table[Streaming]=D2;Table[Streaming]=""))

有什么线索吗?

谢谢

标签: excelexcel-formula

解决方案


当公式的语法很好理解时,嵌套公式很强大。在屏幕截图中,此公式过滤了表格:

=FILTER(Table1,(IF(H2="",TRUE,Table1[Color]=H2))*(IF(H3="",TRUE,Table1[size]=H3))*(IF(H4="",TRUE,Table1[length]=H4)))

在此处输入图像描述

在此处输入图像描述

如果您想在没有指定过滤器的情况下复制整个表,则将上述公式包装到 IfError() 中,如下所示:

=IFERROR(FILTER(Table1,IF(H2="",TRUE,Table1[Color]=H2)*IF(H3="",TRUE,Table1[size]=H3)*IF(H4="",TRUE,Table1[length]=H4)*(COUNTA(H2:H4)>1)),Table1)

推荐阅读