Google Sheets 按对应日期排序为姓名出现次序标注1/2/3标签的咨询
Google Sheets 生成同名条目按日期排序次序标签方案
以下方案默认你的表格结构为:A列为Name(姓名)、B列为Date(日期),表头占第1行,有效数据从第2行开始,新增的Label标签列为C列,你可以根据自己的实际列位置调整公式里的列号。
方案1:基础拖拽填充(适合小数据量)
- 点击选中C2单元格,输入如下公式:
=COUNTIFS(A$2:A2, A2, B$2:B2, "<="&B2) - 按回车确认后,鼠标放在C2单元格右下角的小方块上,等光标变成十字形后向下拖拽到所有数据行末尾即可。
- 公式逻辑:同时统计两个匹配条件的行数:① 当前行往上(含当前行)和当前姓名一致的条目;② 对应条目的日期早于等于当前行的日期,统计结果就是该姓名按日期排序的出现次序,最早出现的标记为1,后续依次累加。
方案2:自动溢出计算(适合大数据量/动态新增数据)
- 点击选中C2单元格,输入如下数组公式:
=BYROW(A2:A, LAMBDA(n, IF(n="",, COUNTIFS(A2:A, n, B2:B, "<="&OFFSET(B, ROW(n)-2, 0))))) - 按回车确认后,公式会自动向下匹配所有有姓名的行,自动生成对应标签,后续新增姓名和日期数据时,对应行的Label会自动计算,不需要手动拖拽填充。
特殊场景适配
如果存在同一个姓名同一天出现多条记录,以上公式会给同一天的同姓名条目标注相同的序号,如果你需要同一天的条目也按表格里的行先后顺序继续排序,可使用如下公式:=COUNTIFS(A$2:A2, A2, B$2:B2, "<"&B2) + COUNTIFS(A$2:A2, A2, B$2:B2, "="&B2, ROW(A$2:A2), "<="&ROW(A2))
注意事项
- 计算前请先确认Date列是标准日期格式:选中B列,点击顶部菜单栏「格式」→「数字」→「日期」,统一转换格式后再运行公式,避免日期识别错误导致计算结果不准。
内容的提问来源于stack exchange,提问作者allison
相关产品推荐
相关产品推荐

