Microsoft Lab
全部软件
Excel排序(Sort)约 4 分钟

Alphabetize 按字母顺序排序

🧪 动手试试

动手试:排序和筛选

点列标题排序,用下拉选单筛选。注意被筛掉的行只是藏起来,行号会跳号。

重点内容


适用版本

桌面版通用(Excel 365 / 2021 / 2019 等);Flash Fill 需要 Excel 2013 及以上。


按多列(多级)字母顺序排序

示例:一份电影列表,先按 Genre(类型)排序,同类型内再按 Title(片名)排序。

  1. 在数据范围内点击任意单元格
  2. Data›Sort & Filter›Sort
  3. 「Sort by」(主要排序键)选择 Genre 列
  4. 点击 Add Level(添加级别)
  5. 「Then by」(次要排序键)选择 Title 列
  6. 点击 OK
📷 画面提示

排序对话框 - 主要 + 次要排序键

结果:电影先按类型分组,同一类型内的片名再按字母顺序排列。


用公式按后缀字符排序

如果排序依据是字符串的最后几个字符(比如产品编号的后缀),可以先用 RIGHT 函数提取出来再排序:

  1. 用 RIGHT(text,num_chars) 提取每个序列号的最后一个(或几个)字符,放到辅助列
  2. 点击该辅助列中任意单元格
  3. Data›Sort & Filter›点击 AZ(升序)

按字母排序时忽略「A」「An」「The」冠词

片名/书名开头常有冠词,直接排序会把「The Matrix」排到 T 开头,而不是使用者习惯的 M 开头。用公式先剥掉冠词、生成一个排序用的辅助列:

公式思路:用 OR 函数搭配多个 LEFT 函数,判断标题开头是不是「A 」「An 」或「The 」;如果是,就用 FIND 和 MID 函数把冠词部分跳过,只取冠词之后的文字来排序。

  1. 建一个辅助列,输入判断 + 跳过冠词的公式
  2. 对辅助列执行 Data›Sort & Filter›AZ

用 Flash Fill 辅助排序

如果只需要拆出姓氏(Last Name)来排序:

  1. 在新的一列第一格,手动输入第一个人的姓氏
  2. 选中该单元格
  3. Data›Flash Fill(快捷键 Ctrl+E),Excel 会自动辨认规律,把整列姓氏都填出来
  4. 对姓氏列执行 Data›Sort & Filter›AZ

快捷键速查

操作WindowsMac
Flash FillCtrl + ECmd + E

学完你会

常见错误

  • 多级排序时忘记点 Add Level,只设置了主要排序键,导致同一分组内的顺序还是原始顺序、没有二次排序
  • 忽略冠词排序时,公式只判断了「The」,漏掉「A」「An」的情况,导致部分标题还是按冠词排序
  • Flash Fill 生成结果后直接排序,没有检查是否有姓名格式不规则(比如缺姓氏、有中间名)的行被拆错

Sources

Blog / Website:

  1. Alphabetize
只记在你的浏览器里,换设备不会同步。