EXCEL 数字编码化排序(如部门层级排序)
示例:如下,S公司当前“部门全称”列内容逻辑混乱,现要实现对 “部门全称” 列中的非标准化数据进行智能排序,使其按照 “基地(华东、华南、华西、华北) -> 部门(一部、二部、三部、四部) -> 小组(1组、2组)” 的层级逻辑依次进行排列,而非简单的拼音或字符顺序。
部门全称 |
S公司/华东 |
S公司/华东/二部 |
S公司/华东/三部 |
S公司/华东/四部 |
S公司/华东/一部 |
S公司/华北/三部 |
S公司/华北/三部/1组 |
S公司/华北/三部/2组 |
S公司/华北/四部 |
S公司/华北/四部/1组 |
S公司/华北/四部/2组 |
S公司/华南/二部 |
S公司/华南/二部/1组 |
S公司/华南/二部/2组 |
S公司/华南/一部/2组 |
S公司/华南/一部/1组 |
S公司/华南/一部/2组 |
S公司/华西 |
S公司/华西/一部 |
S公司/华西/二部 |
思路:创建一个专用的“排序键”辅助列。该排序键将文本中的中文层级(如“华东”、“三部”、“1组”)转换为标准的数字编码(如1.3.1),使Excel能按照真正的数字顺序进行排序。
操作步骤:
步骤1:创建辅助列
在 B1 单元格输入标题:排序键,在 B2 单元格输入以下公式,然后双击单元格右下角的填充柄,将公式快速填充至所有数据行。
=IFERROR(LOOKUP(1,0/FIND({"华东","华南","华西","华北"},A2),{1,2,3,4}),0)&"."&IFERROR(LOOKUP(1,0/FIND({"一部","二部","三部","四部"},A2),{1,2,3,4}),0)&"."&IFERROR(LOOKUP(1,0/FIND({"1组","2组","3组","4组"},A2),{1,2,3,4}),0)步骤2:对辅助列进行排序
选中数据区域>点击 数据 菜单 > 排序 >主要关键字:选择 “排序键”列 >排序依据:选择 “数值”>次序:选择 “升序”:

排序后表格数据效果如下:
部门全称 | 排序键 |
S公司/华东 | 1.0.0 |
S公司/华东/一部 | 1.1.0 |
S公司/华东/二部 | 1.2.0 |
S公司/华东/三部 | 1.3.0 |
S公司/华东/四部 | 1.4.0 |
S公司/华南/一部/1组 | 2.1.1 |
S公司/华南/一部/2组 | 2.1.2 |
S公司/华南/一部/2组 | 2.1.2 |
S公司/华南/二部 | 2.2.0 |
S公司/华南/二部/1组 | 2.2.1 |
S公司/华南/二部/2组 | 2.2.2 |
S公司/华西 | 3.0.0 |
S公司/华西/一部 | 3.1.0 |
S公司/华西/二部 | 3.2.0 |
S公司/华北/三部 | 4.3.0 |
S公司/华北/三部/1组 | 4.3.1 |
S公司/华北/三部/2组 | 4.3.2 |
S公司/华北/四部 | 4.4.0 |
S公司/华北/四部/1组 | 4.4.1 |
S公司/华北/四部/2组 | 4.4.2 |
步骤3:清理辅助列(可选)
排序完成后,可右键点击B列列标,选择 “隐藏”或许“删除”,使表格更简洁。
