🧪 动手试试
动手试:排序和筛选
点列标题排序,用下拉选单筛选。注意被筛掉的行只是藏起来,行号会跳号。
重点内容
适用版本
桌面版通用(Excel 365 / 2021 / 2019 等);Flash Fill 需要 Excel 2013 及以上。
按多列(多级)字母顺序排序
示例:一份电影列表,先按 Genre(类型)排序,同类型内再按 Title(片名)排序。
- 在数据范围内点击任意单元格
- 「Sort by」(主要排序键)选择 Genre 列
- 点击 Add Level(添加级别)
- 「Then by」(次要排序键)选择 Title 列
- 点击 OK
排序对话框 - 主要 + 次要排序键
结果:电影先按类型分组,同一类型内的片名再按字母顺序排列。
用公式按后缀字符排序
如果排序依据是字符串的最后几个字符(比如产品编号的后缀),可以先用 RIGHT 函数提取出来再排序:
- 用
RIGHT(text,num_chars)提取每个序列号的最后一个(或几个)字符,放到辅助列 - 点击该辅助列中任意单元格
- (升序)
按字母排序时忽略「A」「An」「The」冠词
片名/书名开头常有冠词,直接排序会把「The Matrix」排到 T 开头,而不是使用者习惯的 M 开头。用公式先剥掉冠词、生成一个排序用的辅助列:
公式思路:用 OR 函数搭配多个 LEFT 函数,判断标题开头是不是「A 」「An 」或「The 」;如果是,就用 FIND 和 MID 函数把冠词部分跳过,只取冠词之后的文字来排序。
- 建一个辅助列,输入判断 + 跳过冠词的公式
- 对辅助列执行
用 Flash Fill 辅助排序
如果只需要拆出姓氏(Last Name)来排序:
- 在新的一列第一格,手动输入第一个人的姓氏
- 选中该单元格
- (快捷键 Ctrl+E),Excel 会自动辨认规律,把整列姓氏都填出来
- 对姓氏列执行
快捷键速查
| 操作 | Windows | Mac |
|---|---|---|
| Flash Fill | Ctrl + E | Cmd + E |
学完你会
常见错误
- 多级排序时忘记点 Add Level,只设置了主要排序键,导致同一分组内的顺序还是原始顺序、没有二次排序
- 忽略冠词排序时,公式只判断了「The」,漏掉「A」「An」的情况,导致部分标题还是按冠词排序
- Flash Fill 生成结果后直接排序,没有检查是否有姓名格式不规则(比如缺姓氏、有中间名)的行被拆错
Sources
Blog / Website: