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 列。

免费下载试用

相关推荐
Dovis(誓平步青云)3 分钟前
探索C++标准模板库(STL):String接口的底层实现(下篇)
开发语言·c++·stl·string
海棠一号7 分钟前
JAVA理论第五章-JVM
java·开发语言·jvm
草莓熊Lotso36 分钟前
【数据结构初阶】--算法复杂度的深度解析
c语言·开发语言·数据结构·经验分享·笔记·其他·算法
海的诗篇_1 小时前
前端开发面试题总结-JavaScript篇(二)
开发语言·前端·javascript·typescript
cccc来财1 小时前
Go中的协程并发和并发panic处理
开发语言·后端·golang
狐凄1 小时前
Python实例题:Python计算线性代数
开发语言·python·线性代数
惊鸿一博2 小时前
java_网络服务相关_gateway_nacos_feign区别联系
java·开发语言·gateway
Bruce_Liuxiaowei2 小时前
深入理解PHP安全漏洞:文件包含与SSRF攻击全解析
开发语言·网络安全·php
成工小白2 小时前
【C++ 】智能指针:内存管理的 “自动导航仪”
开发语言·c++·智能指针
sc写算法2 小时前
基于nlohmann/json 实现 从C++对象转换成JSON数据格式
开发语言·c++·json