作为一个例子,请参阅下面的数据。

我可以逐行FILTER:
=FILTER($A$1:$E$9,
((ISNUMBER(SEARCH("b",$A$1:$A$9)))+
(IFERROR($A$1:$A$9="List",FALSE))+
(IFERROR($A$1:$A$9="",FALSE))))我还可以按列使用以下内容进行FILTER:
=FILTER($A$1:$E$9, $A$1:$E$1="1600m")
但是,当我试图同时过滤两者时,我就得到了#VALUE!。
以下是我的两次尝试:
1)
=FILTER($A$1:$E$9,
((ISNUMBER(SEARCH("b",$A$1:$A$9)))+
(IFERROR($A$1:$A$9="List",FALSE))+
(IFERROR($A$1:$A$9="",FALSE)))*
($A$1:$E$1="1600m"))=FILTER($A$1:$E$9,
((ISNUMBER(SEARCH("b",$A$1:$A$9)))+
(IFERROR($A$1:$A$9="List",FALSE))+
(IFERROR($A$1:$A$9="",FALSE))*
($A$1:$E$1="1600m")))我还考虑过使用LET先按列进行筛选,然后逐行过滤已经筛选过的数组,但我不相信我能够引用函数中的特定行。
有什么想法吗?
发布于 2021-07-30 06:28:21
也许您可以索引您的行筛选器:
=INDEX(
FILTER(A1:E9,(ISNUMBER(SEARCH("b",$A$1:$A$9))+
(IFERROR($A$1:$A$9="List",FALSE))+
(IFERROR($A$1:$A$9="",FALSE)))),
, MATCH( "1600m", $A$1:$E$1,0) )如果您不想要标题:
=INDEX(
FILTER(A1:E9, ISNUMBER(SEARCH("b",$A$1:$A$9) +
IFERROR($A$1:$A$9="List",FALSE) +
IFERROR($A$1:$A$9="",FALSE))),
, MATCH( "1600m", $A$1:$E$1,0) )作为P.b。建议的嵌套筛选器可以用头传递结果:
=FILTER( FILTER( $A$1:$E$9, $A$1:$E$1="1600m"),
(ISNUMBER(SEARCH("b",$A$1:$A$9)) +
(IFERROR($A$1:$A$9="List",FALSE)) +
(IFERROR($A$1:$A$9="",FALSE))) )如果输出需要如您的图像的H1:E5所示,则这个(经过过度设计的示例)可以交付它,以防万一:
=LET(t, $A$1:$E$9, list, $A$1:$A$9, horse, "b", raceDist, "1600m",
raceHeader, INDEX(t, 1, ),
rf, FILTER(t, ISNUMBER(SEARCH(horse,list)) +
IFERROR(list="List",FALSE) +
IFERROR(list="",FALSE) ),
idxR, SEQUENCE(ROWS(rf)),
rf_rowLabels, INDEX(rf,idxR,{1,2}),
target, INDEX( rf, , MATCH( raceDist, raceHeader, 0 ) ),
IFERROR( INDEX(SUBSTITUTE(INDEX(rf,SEQUENCE(ROWS(rf)),{1,2}),0,""), idxR,{1,2,3}),
target ) )编辑了第一个替补--我忘了它还在那里。谢谢P.b.
发布于 2021-07-30 08:40:08
=FILTER( FILTER($A$1:$E$9,($A$1:$E$1="1600m")+($A$1:$E$1="Event:")+($A$1:$E$1="")), ((ISNUMBER(SEARCH("b",$A$1:$A$9)))+ (IFERROR($A$1:$A$9="List",FALSE))+ (IFERROR($A$1:$A$9="",FALSE))))首先是列标题的条件,然后是行的条件。
PS空单元格显示为0。

https://stackoverflow.com/questions/68586092
复制相似问题