提问人:Elmar 提问时间:11/16/2023 最后编辑:Mayukh BhattacharyaElmar 更新时间:11/18/2023 访问量:114
Excel:如何对“过滤器”功能的结果求和/汇总
Excel: How to Sum/Aggregate results of "Filter" Function
问:
我有一张桌子。
当我使用公式时:
=FILTER(A1:C7,B1:B7="red",)
我得到的是:
然而,我想得到的是:
有什么想法该怎么做吗?
注意:使用该功能是必须的。Filter
答:
4赞
Mayukh Bhattacharya
11/16/2023
#1
请尝试使用以下公式:
• 细胞中使用的配方E2
=LET(
α, FILTER(A2:C7,B2:B7="red"),
φ, INDEX(α,,1)&"|"&INDEX(α,,2),
UNIQUE(HSTACK(TEXTBEFORE(φ,"|"),TEXTAFTER(φ,"|"),
MMULT(N(φ=TOROW(φ)),DROP(α,,2)))))
或者,使用适用于PIVOTBY()Beta Users
• 细胞中使用的配方E2
=LET(
α, FILTER(A2:C7,B2:B7="red"),
PIVOTBY(TAKE(α,,2),,TAKE(α,,-1),SUM,,0))
或使用GROUPBY()
=LET(α, FILTER(A2:C7,INDEX(A2:C7,,2)="red"), GROUPBY(TAKE(α,,2),TAKE(α,,-1),SUM,,0))
或者,使用PIVOTBY()
=PIVOTBY(A2:B7,,C2:C7,SUM,,0,,,,B2:B7="red")
替代版本意识到它将比早期版本更高效和更好。MMULT()
=UNIQUE(FILTER(HSTACK(A2:B7,MMULT((A2:A7=TOROW(A2:A7))*(B2:B7="red"),C2:C7)),B2:B7="red"))
评论
0赞
Elmar
11/16/2023
我不是测试版用户。所以或我不可用。但第一个选项对我有用。谢谢!我希望或尽快发布正式版本。GROUPBY()
PIVOTBY()
GROUPBY()
PIVOTBY()
0赞
Mayukh Bhattacharya
11/16/2023
应该可以工作,我也刚刚发布了作为替代方案,我发现这些功能目前存在一些问题,应该像在测试中一样使用。作为知识目的共享。是的,据我所知,通常所有新功能都是分批发布的!不仅如此,在工作场所不允许启用,通常除非有特别补助金!MMULT()
Beta
Beta
2赞
P.b
11/16/2023
#2
对于那些有权访问 Excel Beta 版的用户:
=LET(f,FILTER(A2:C7,B2:B7="red"),PIVOTBY(TAKE(f,,2),,DROP(f,,2),SUM,,0))
或=LET(f,FILTER(A2:C7,B2:B7="red"),GROUPBY(TAKE(f,,2),DROP(f,,2),SUM,,0))
=LET(g,GROUPBY(A2:B7,C2:C7,SUM,,0),FILTER(g,INDEX(g,,2)="red"))
2赞
Keyub W
11/16/2023
#3
类似于 Mayukh Bhattacharya 的回答,但没有文本处理。
=LET(
valid_range, FILTER(A2:C7, B2:B7="red"),
values, MMULT(TRANSPOSE(INDEX(valid_range,,1) = TRANSPOSE(UNIQUE(INDEX(valid_range,,1))))*1,
INDEX(valid_range,,3)),
HSTACK(UNIQUE(DROP(valid_range,,-1)), values))
2赞
JvdV
11/16/2023
#4
如果适用,请使用 GROUPBY():
公式:E2
=GROUPBY(A2:B7,C2:C7,SUM,,0,,B2:B7="red")
你说使用是必须的,但是我们现在使用了内部的 groupby-filter,这对我来说似乎很好。FILTER()
或者,“老式”:
=UNIQUE(FILTER(HSTACK(A2:B7,SUMIFS(C2:C7,A2:A7,A2:A7,B2:B7,"red")),B2:B7="red"))
评论
0赞
Elmar
11/17/2023
GROUPBY()
是仅供 BETA 用户使用的功能。许多人仍然无法访问 BETA 版(尤其是如果它是企业 Excel)。
0赞
JvdV
11/17/2023
@Elmar,当然,但是您有很多选择。无论如何;我还使用老式的 .SUMIFS()
评论