如果为空,则溢出公式以忽略过滤条件

问题描述 投票:0回答:1

我正在编写一个溢出公式,我想按部门和/或名称过滤范围,如果未进行任何选择,则溢出整个范围。

目前,我已经将其写在能够过滤其中之一或两者或两者的地方;但是,如果它们都是空白,我会收到

#Value!
错误。

=FILTER(A2:C6, IF( ISBLANK(A8),1,(A2:A6=A8) ) * IF( ISBLANK(B8),1,(B2:B6=B8) ) ,"")

enter image description here

部门 价值
销售 马克 100
销售 史蒂夫 100
销售 凯西 100
MGMT 米歇尔 100
MGMT 约翰 100

(遵循公式的图片,用于测试的Markdown表格)

excel excel-formula
1个回答
0
投票

网上有很多关于同时使用两个过滤器并在空白时忽略一个过滤器的解决方案,但是这个问题需要能够在所有条件都为空白时完全忽略过滤器。

我能够确定的解决方案是我可以简单地将整个范围作为公式输入来引用,以将其未经编辑地溢出。将其与将整个公式包装在 IF 语句中相结合,得到了我想要的结果。

=IF( AND(M8="",N8=""),M2:O6, FILTER(M2:O6, IF( ISBLANK(M8),1,(M2:M6=M8) ) * IF( ISBLANK(N8),1,(N2:N6=N8) ),""))

我能够成功获得所需结果的另一种方法是将其分解为

Let()
公式:

=LET(raw,M2:O6,filtered,FILTER(M2:O6,IF(ISBLANK(M8),1,(M2:M6=M8))*IF(ISBLANK(N8),1,(N2:N6=N8))), IF(AND(M8="",N8=""), raw,filtered))

使用第一个公式: Formula1

使用第二个公式: Formula2

© www.soinside.com 2019 - 2024. All rights reserved.