Excel中如何为每个个体的多条记录自动按顺序生成行编号
按个体分组自动编号的实现方法
以下是不同常用工具下的实现方案:
1. Excel / WPS表格 / Google Sheets
假设Person列在B列,第1行是表头,第一行数据在第2行,你需要在Count列的A2单元格输入如下公式:=COUNTIF(B$2:B2, B2)
输入完成后直接下拉填充整列即可自动生成所有序号,无需手动调整。
原理:统计从首行数据到当前行范围内,当前
Person值的出现次数,刚好对应你需要的分组内序号。
2. Python(Pandas库)
调用groupby搭配cumcount方法即可实现,示例代码如下:
import pandas as pd # df为你的数据集对象,Person为个体列的列名 df['Count'] = df.groupby('Person').cumcount() + 1
说明:
cumcount默认从0开始计数,加1后即可匹配你要求的从1开始的序号规则。
3. SQL
使用窗口函数ROW_NUMBER即可实现,示例语句如下:
SELECT ROW_NUMBER() OVER (PARTITION BY Person ORDER BY (SELECT 1)) AS Count, Person FROM 你的表名
说明:
PARTITION BY Person会按个体字段分组,在分组内部按顺序编号,如果有指定排序逻辑,把ORDER BY (SELECT 1)替换为你需要排序的字段即可。
内容的提问来源于stack exchange,提问作者chuyfelipe
相关产品推荐
相关产品推荐

