提问人:BlackCat 提问时间:7/17/2021 最后编辑:P.bBlackCat 更新时间:7/17/2021 访问量:4616
除了 office365 excel 之外,还有什么 FILTER 函数的替代方案?
What is an alternative of FILTER function for other than office365 excel?
问:
我有一个 excel 工作表,比如
SKU系列 | ITEM_ID | 线 |
---|---|---|
111 | 1 | CCC公司 |
111 | 2 | NNN的 |
我需要根据LINE列的值过滤行。在 office365 中,它可以通过 FILTER 功能轻松完成。我必须使用 excel 2007。有什么好的替代方法可以在这里创建函数进行过滤?
答:
7赞
P.b
7/17/2021
#1
=IFERROR(INDEX($A$1:$C$3,SMALL(IF(--($C$1:$C$3="CCC"),ROW($C$1:$C$3)),ROWS($1:1)),COLUMNS($A:A)),"")
要在 Office 365 之前的版本中输入的数组公式。将公式向下复制,并根据需要向右复制。函数的 ROWS 部分将充当条件的 1st、2nd 等匹配项的计数器。ctrl+shift+enter
您可以调整范围,但请确保调整所有三个范围:=IFERROR(INDEX($A$1:$C$[number of end of range],SMALL(IF(--($C$1:$C$[same number as before]="CCC"),ROW($C$1:$C$[same number as before])),ROWS($1:1)),COLUMNS($A:A)),"")
评论
2赞
P.b
7/17/2021
刚刚对索引的列部分进行了第二次思考,以便在 Office 365 之前的版本中工作。更新。
2赞
P.b
7/19/2021
您是否正确调整了范围?它应该 i.stack.imgur.com/UrFAd.jpg 工作
1赞
David Leal
1/27/2023
@P.b 我发现修改您的方法,无需复制公式:.这仅用于按一列过滤,但我想它适用于多个列=IFERROR(INDEX(A1:A3, SMALL(IF($A$1:$A$3="CCC", ROW(A1:A3)), ROW(A1:A3))),"")
3赞
P.b
1/27/2023
@DavidLeal我知道,但这只会在 Office365 中溢出,然后我们通常改用 FILTER。
3赞
P.b
1/28/2023
@DavidLeal 它的计算方式相同,因此您可以例如将数组 INDEX 为 并且它将显示数组的第二个结果(不确定它是否需要 ctrl+shift+enter)。但旧版本从不将结果溢出到单元格上(它只将数组存储在内存中)=INDEX([your-array-version],2)
评论