You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Google Sheets或Presto SQL中排序年月格式字符串?

按年份和对应月份排序campaign_type数据

用Python实现的方案

1. 定义月份映射关系

先把英文月份缩写对应成数字,方便排序比较:

month_map = {
    'jan': 1,
    'feb': 2,
    'mar': 3,
    'apr': 4,
    'may': 5,
    'jun': 6,
    'jul': 7,
    'aug': 8,
    'sep': 9,
    'oct': 10,
    'nov': 11,
    'dec': 12
}

2. 执行排序

通过自定义排序规则,先按年份排序,再按前3个字符对应的月份排序:

# 原始数据
data = [
    'campaign_type',
    'marmay2022',
    'janmar2022',
    'mayjul2022'
]

# 保留表头,对数据行排序
sorted_data = [data[0]] + sorted(
    data[1:],
    key=lambda x: (int(x[-4:]), month_map[x[:3].lower()])
)

# 输出排序结果
for item in sorted_data:
    print(item)

3. 最终排序结果

campaign_type
janmar2022
marmay2022
mayjul2022

用Excel实现的方案

  • 添加辅助列1:提取年份,公式为RIGHT(A2,4),设置单元格格式为数字
  • 添加辅助列2:提取前3个字符,公式为LEFT(A2,3),再用VLOOKUP匹配对应的月份数字(需提前建立月份缩写-数字的对照表格)
  • 选中所有数据,按辅助列1、辅助列2的顺序升序排序,最后删除辅助列即可

内容的提问来源于stack exchange,提问作者Alice

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.26 04:39:19