MICROSOFT

EP06. “Sort by Date 按日期排序”

首页 Microsoft 工具 Excel · Data Analysis · Sort · EP06
约 6 分钟· #EP06#Excel#Sort
🔒 登录后可标记已读
  • 按日期排序为什么有时候会排出一堆乱序?多半是那些日期其实是「文本」,不是 Excel 认得的真日期
  • 真正的日期在单元格里靠右对齐,文本日期靠左对齐——这个视觉差异就是排查的第一步
  • 先把文本日期转成真日期,再讲基本排序、只按月份排序,以及按生日(忽略年份)排序这三种场景
  • 学完能处理各种日期相关的排序需求,不再被「假日期」坑

重点内容


适用版本

桌面版通用(Excel 365 / 2021 / 2019 等)。


第一步:把文本日期转成真正的日期

真正的日期在单元格里是靠右对齐的,文本形式的日期是靠左对齐——排序前先用这个特征判断日期是不是「假日期」。


三种转换方法怎么选

方法适合场景备注
直接套用日期格式数据本身格式还算标准,只是没被识别成日期最快,先试这个
查找和替换格式规整但 Excel 死活不认用「/换/」触发 Excel 重新判断格式
Text to Columns日期顺序(MDY/DMY)跟系统预期不一致,或格式很不规则能手动指定日期顺序,最可靠

方法一:直接套用日期格式

  1. 选中文本日期所在的单元格
  2. Home → Number(数字)组的下拉列表,选择 Short Date

方法二:查找和替换

  1. 选中文本日期
  2. Ctrl + H 打开查找和替换
  3. 「查找内容」输入斜杠 /,「替换为」也输入斜杠 /,点击 Replace All(全部替换)
    (这一步看似没改变任何字符,但会触发 Excel 重新判断这些内容是不是合法日期格式,从而把文本日期转成真日期)

方法三:文本分列(Text to Columns)

  1. 选中日期所在列
  2. Data → Text to Columns
  3. 选择 Delimited,一路 Next
  4. 在最后一步的「列数据格式」选择 Date,并指定日期顺序(如 MDY,月/日/年)
  5. 点击 Finish

[截图:Text to Columns 向导 - 选择日期格式]


第二步:基本按日期排序

  1. 选中日期列中的任意单元格
  2. Data → Sort & Filter → 点击 AZ(升序,从早到晚)或 ZA(降序,从晚到早)

按月份排序(忽略年份,只看月)

  1. 新增一列,标题命名为 Month
  2. 输入公式 =MONTH(B2),向下拖动填充手柄
  3. 点击 Month 这一列的任意单元格,Data → Sort & Filter → AZ

📌 这个方法只按月份(1~12)分组,不考虑年份,也不考虑日——如果需要精确到「几号」的顺序,要另外处理。


按生日排序(忽略年份,按月日顺序)

  1. 新增一列,标题命名为 Birthday Key
  2. 输入公式 =TEXT(B2,"mm.dd"),把日期格式化成「月.日」的文本
  3. 点击该列任意单元格,Data → Sort & Filter → AZ

结果:生日会按一年中的先后顺序(1 月到 12 月)排列,忽略了出生年份,适合整理员工/学生生日清单。


函数速查

函数语法用途例子
MONTH=MONTH(serial_number)提取日期的月份=MONTH(B2) → 5
TEXT=TEXT(value, format_text)按指定格式把数值转成文本=TEXT(B2,"mm.dd") → "05.20"

快捷键速查

操作WindowsMac
查找和替换Ctrl + HCmd + H

学完你会

  • ✅ 判断表格里的日期是真日期还是文本假日期
  • ✅ 用三种方法之一把文本日期转成真正的日期值
  • ✅ 用辅助列做到「只按月份」或「按生日忽略年份」的日期排序

常见错误

  • 没有先检查日期是文本还是真日期就直接排序,导致排序结果按字符顺序而不是真正的时间先后
  • 用 Text to Columns 转换时,日期顺序(MDY / DMY / YMD)选错,导致月和日被互换
  • 按生日排序时直接用原始日期排序,年份不同的生日会被拆散、无法按「一年中的顺序」聚在一起,忘了要用 TEXT 公式转成忽略年份的格式

Sources

Blog / Website:

  1. Sort by Date