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)

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

免费下载试用

相关推荐
2301_765703149 小时前
C++中的职责链模式实战
开发语言·c++·算法
f狐0狸x9 小时前
【C++修炼之路】C++ list容器基本用法详解
开发语言·c++·list
坚持就完事了9 小时前
Java的OOP
java·开发语言
jllllyuz9 小时前
基于MATLAB的锂电池物理对象建模实现
开发语言·matlab
avi91119 小时前
Unity Data Excel读取方法+踩坑记;和WPS Excel的一些命令
unity·游戏引擎·excel·wps·data
MyBFuture9 小时前
C#数组详解:一维二维与交错数组
开发语言·windows·c#·visual studio·vision pro
程序 代码狂人9 小时前
CentOS7初始化配置操作
linux·运维·开发语言·php
从此不归路9 小时前
Qt5 进阶【13】桌面 Qt 项目架构设计:从 MVC/MVVM 到模块划分
开发语言·c++·qt·架构·mvc
zhangx1234_9 小时前
C语言 数据在内存中的存储
c语言·开发语言
星空露珠9 小时前
速算24点检测生成核心lua
开发语言·数据库·算法·游戏·lua