Excel 保持原序时计算组内排名

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)

Picture1png

函数 E 将片区转为表格,derive 增加新列,rank 计算排序后的组内记录的排名,# 是行号,#1 是第 1 列。

来源:https://stackoverflow.com/questions/78109251/how-to-create-a-sequence-number-based-on-sales-agent-name-and-sale-date-in-excel