如何按A+、A、A-的顺序对表格字母成绩进行排序?
自定义字母成绩排序实现方法
场景1:Excel/Google Sheets
自定义排序规则法
- 选中需要排序的成绩列
- 打开「数据」→「排序」(Excel)或「数据」→「排序范围」(Google Sheets)
- 在排序设置里,选择「自定义序列」(Excel)或「高级排序」→「排序依据」选「自定义顺序」(Google Sheets)
- 手动输入目标排序序列:
A+、A、A-、B+、B、B-、C+、C、C-...(根据你的成绩体系补全) - 确认后执行排序即可
辅助列映射法
- 在相邻空白列输入公式,给每个成绩分配排序权重:
- Excel公式:
=IF(A1="A+",1,IF(A1="A",2,IF(A1="A-",3,IF(A1="B+",4,IF(A1="B",5,IF(A1="B-",6,...)))))) - Google Sheets可改用更简洁的
SWITCH函数:=SWITCH(A1,"A+",1,"A",2,"A-",3,"B+",4,"B",5,"B-",6,...)
- Excel公式:
- 选中成绩列和辅助列,按辅助列升序排序
- 排序完成后可隐藏辅助列
- 在相邻空白列输入公式,给每个成绩分配排序权重:
场景2:Python(Pandas处理表格)
import pandas as pd # 读取成绩表格 df = pd.read_excel("成绩表.xlsx") # 定义目标排序顺序 sort_order = ["A+", "A", "A-", "B+", "B", "B-", "C+", "C", "C-"] # 将成绩列转为带顺序的分类类型 df["成绩"] = pd.Categorical(df["成绩"], categories=sort_order, ordered=True) # 执行排序 sorted_df = df.sort_values("成绩") # 保存排序后的表格 sorted_df.to_excel("排序后成绩表.xlsx", index=False)
场景3:MySQL数据库查询排序
SELECT * FROM 成绩表 ORDER BY FIELD(成绩, 'A+', 'A', 'A-', 'B+', 'B', 'B-', 'C+', 'C', 'C-');
内容的提问来源于stack exchange,提问作者user19644289
相关产品推荐
相关产品推荐

