具有不同范围大小的多个标准(和空白值)的过滤器

FILTER with multiple criteria (and blank values) with different range sizes

我有一个多列列表,我想根据最多 4 个条件过滤结果。使用 FILTER/COUNTIF,我可以获得所需的结果,只要 all 条件具有值并且当然匹配即可。如果我没有输入所有四个搜索条件,公式就会失效。我希望能够基于 1、2、3 或所有 4 个条件进行搜索并相应地缩小我的结果范围。

Here is my formula(以及 link 到我的电子表格 - [数据验证副本!G2]):

=UNIQUE(FILTER(squads!D3:D&"|"&squads!E3:E&"|"&squads!F3:F&"|"&squads!G3:G&"|"&squads!B3:B,
COUNTIF('Squad Builder'!C8,squads!D3:D),
COUNTIF('Squad Builder'!C9,squads!E3:E),
COUNTIF('Squad Builder'!C10,squads!F3:F),
COUNTIF('Squad Builder'!C11,squads!G3:G)
))

我试图在 COUNTIF 周围添加 IF 语句,但如果它为假,则公式会中断,因为它只有 1 个结果导致范围大小不同。

我的搜索条件位于另一个选项卡中,Squad Builder!C8:C11

附加信息

我有另一个公式可以执行相同的功能并且工作正常。不同之处在于,我正在尝试使用此新公式以 | 分隔格式显示结果。如果这个公式能以某种方式实现,那也太好了。

这只是嵌套在 dataValidations!G2 中的几个公式的片段。

  UNIQUE(SORT(QUERY({squads!B3:B,squads!D3:D,squads!E3:E,squads!F3:F,squads!G3:G},"SELECT Col1 "&
  IF(LEN('Squad Builder'!C8),"WHERE Col2 = '"&'Squad Builder'!C8&"' ",)&
  IF(LEN('Squad Builder'!C9),"AND Col3 = '"&'Squad Builder'!C9&"' ",)&
  IF(LEN('Squad Builder'!C10),"AND Col4 = '"&'Squad Builder'!C10&"' ",)&
  IF(LEN('Squad Builder'!C11),"AND Col5 = '"&'Squad Builder'!C11&"' ",)
  ,0),1,TRUE))

尝试:

=INDEX(UNIQUE(QUERY({squads!D3:G, 
 squads!D3:D&"|"&squads!E3:E&"|"&squads!F3:F&"|"&squads!G3:G&"|"&squads!B3:B}, 
 "select Col5
  where 1=1 "&
 IF('Squad Builder'!C8<>"",  " and Col1 ='"&'Squad Builder'!C8&"'", )&
 IF('Squad Builder'!C9<>"",  " and Col2 ='"&'Squad Builder'!C9&"'", )&
 IF('Squad Builder'!C10<>"", " and Col3 ='"&'Squad Builder'!C10&"'", )&
 IF('Squad Builder'!C11<>"", " and Col4 ='"&'Squad Builder'!C11&"'", ))))