Excel中根据年月日提取月日,并按月日进行排序

描述

手上有一份成员的出生年月日数据,现需要根据年月日提取月日,并按月日进行排序。

1 方法一:使用公式提取月日后排序

1.1 步骤1:提取月日

假设生日日期在C列(如C2单元格开始):

1.1.1 提取月日到新列

在D2单元格输入公式:=TEXT(C2,"mm-dd") 或 =TEXT(C2,"mm月dd日")

c 复制代码
=TEXT(C2,"mm-dd") 
=TEXT(C2,"mm月dd日") 

或者用:=MONTH(C2)&"-"&DAY(C2)

cpp 复制代码
=MONTH(C2)&"-"&DAY(C2)

下拉填充整个B列

1.1.2 创建排序辅助列:

在E2单元格输入:=DATE(2000, MONTH(C2), DAY(C2))

cpp 复制代码
=DATE(2000, MONTH(C2), DAY(C2))

这会把月日转换为同一个年份(如2000年)的完整日期,方便排序

下拉填充整个C列

1.2 步骤2:按月日排序

  1. 选择数据区域(包括原始数据和其他列)
  2. 点击「数据」→「排序」
  3. 在排序对话框中:
  • 主要关键字选择E列(辅助列)
  • 排序依据选择「数值」
  • 次序选择「升序」(1月1日到12月31日)
  1. 点击「确定」

2 方法二:使用分列功能(如果日期是文本格式)

如果生日数据是文本格式如"1990-05-20"或"1990年5月20日":

  1. 提取月日:
  • 在D2输入:=MID(C2, 6, 5)(针对"1990-05-20"格式)
cpp 复制代码
=MID(C2, 6, 5)
  • 或:=TEXT(--A2, "mm-dd")(将文本转为日期再提取)
cpp 复制代码
=TEXT(--A2, "mm-dd")
  1. 再按方法一的步骤排序

3 方法三:一键排序(最简单)

如果只需要排序,不需要显示月日:

  1. 直接创建排序辅助列:
  • 在E2输入:=MONTH(E2)*100 + DAY(E2)
cpp 复制代码
=MONTH(C2)*100 + DAY(C2)
  • 这将5月20日转为520,12月5日转为1205
  • 按此列升序排序即可

注意:

  • 处理闰年2月29日:如果使用DATE函数,建议用2000年(闰年)作为基准年
  • 排序后:可以隐藏辅助列,或复制排序结果到新工作表
  • 如果日期格式混乱:先用=DATEVALUE(C2)统一转换为标准日期格式
相关推荐
俊哥工具4 小时前
电脑怎么玩手机APP?超简单新手教程
pdf·电脑·word·excel·音视频
程序大视界7 小时前
【Python系列课程】Pandas(六):数据读写——CSV与Excel文件操作
python·excel·pandas
Land032910 小时前
RPA 实现 Excel 自动化实操教程:批量数据处理零基础落地指南
自动化·excel·rpa
搬砖的小码农_Sky1 天前
Excel批量复制全攻略:从单列单行到高级场景
excel·人机交互
专注VB编程开发20年1 天前
淘宝上架销售技巧:Excel管理系统开发 / VBA / ERP / OA办公管理
java·数据库·excel
爱喝水的鱼丶1 天前
SAP-ABAP:SAP 简单报表输出开发系列(共6篇) 第五篇:SAP 报表多格式输出:Excel/PDF 批量导出功能实现
学习·性能优化·pdf·excel·sap·abap
tedcloud1231 天前
codegraph部署教程:构建代码库语义分析环境
服务器·人工智能·word·excel
吾爱神器1 天前
多个EXCEL工作表格合并数据列比对工具
excel·数据合并·数据对比·数据比对·excel数据合并·excel数据对比
daols881 天前
vxe-table 实现 Excel 风格向下复制填充(Ctrl + D 键)
javascript·vue.js·excel·vxe-table·vxe-ui
SilentSamsara1 天前
文件与数据处理:CSV/JSON/Excel/Parquet 高效操作与内存优化
开发语言·python·青少年编程·性能优化·json·excel