我有一个电子表格,其中有销售人员的销售额,
A B C D
1 ID Name Product Sales($)
2 1 John Smith Toaster 250
3 2 Dina Caan Kettle 450
4 1 John Smith Kettle 450
5 1 John Smith Kettle 250
6 2 Dina Caan Toaster 250
7 3 Peter Hues TV 5400
8 3 Peter Hues Radio 480
9 2 Dina Caan Radio 100
10 4 Ralph Do TV 890
11 4 Ralph Do Radio 100
12 5 Ian Poe Watch 750
13 6 Tina Hood TV 450
14 7 Peter Maan Watch 99
我想要一个基于公式的 F 表,按总销售额显示前 n 个(比如 3 个)销售人员,标题为 ID 名称 TotalSales($)
我可以使用数据透视表轻松地完成此操作,然后过滤前 n 个,但在这种情况下,我想使用公式来完成此操作。
编辑:从结果表中删除产品。
答案1
使用 Excel 的新动态数组公式,您无需构建数据透视表即可获得结果,但这需要一些辅助单元格。请考虑以下屏幕截图:
F2 中的公式是 =UNIQUE(B2:B14)
,并且它没有被复制下来。
G2 中的公式=SUMIFS($D$2:$D$14,$B$2:$B$14,UNIQUE(B2:B14))
未被复制下来。
然后可以使用 I2 中的公式得出按总销售额排名的前三名销售人员,=INDEX(SORTBY(F2#,G2#,-1),{1;2;3})
同样不需要抄下来。
动态数组会“溢出”到公式所需的范围,引用动态数组的公式单元格将继承该溢出。这意味着,如果下次有新的销售人员,您无需更新 F 列中的唯一姓名列表。公式会自动执行此操作。