Excel某表格第1列是分组,第2列是日期,未排序。
A | B | |
1 | Agent ID | Date of Sale |
2 | Agent1 | 07-12-2023 |
3 | Agent1 | 05-12-2023 |
4 | Agent2 | 09-12-2023 |
5 | Agent3 | 13-12-2023 |
6 | Agent2 | 14-12-2023 |
7 | Agent2 | 22-12-2023 |
8 | Agent1 | 15-12-2023 |
9 | Agent1 | 17-12-2023 |
10 | Agent2 | 13-12-2023 |
11 | Agent1 | 20-12-2023 |
12 | Agent1 | 18-12-2023 |
13 | Agent3 | 20-12-2023 |
14 | Agent3 | 09-12-2023 |
要求在保持原序的情况下,算出每组数据的内部排名,写在第3列:
A | B | C | |
1 | Agent ID | Date of Sale | result |
2 | Agent1 | 07-12-2023 | 2 |
3 | Agent1 | 05-12-2023 | 1 |
4 | Agent2 | 09-12-2023 | 1 |
5 | Agent3 | 13-12-2023 | 2 |
6 | Agent2 | 14-12-2023 | 3 |
7 | Agent2 | 22-12-2023 | 4 |
8 | Agent1 | 15-12-2023 | 3 |
9 | Agent1 | 17-12-2023 | 4 |
10 | Agent2 | 13-12-2023 | 2 |
11 | Agent1 | 20-12-2023 | 6 |
12 | Agent1 | 18-12-2023 | 5 |
13 | Agent3 | 20-12-2023 | 3 |
14 | Agent3 | 09-12-2023 | 1 |
使用 SPL XLL
=spl("=E(?).derive(#:id,rk).sort(#1,#2).run(rk=rank(#2;#1)).sort(id).(rk)",A1:B14)
函数 E 将片区转为表格,derive 增加新列,rank 计算排序后的组内记录的排名,# 是行号,#1 是第 1 列。
免费下载试用