排序字母数字值

时间:2015-07-23 20:38:40

标签: excel excel-vba sorting excel-2010 vba

我需要按字母顺序对零件编号列表进行排序。 Excel不会正确排序它们,但是当我打开自动过滤器下拉菜单时,它会按照我需要的顺序显示它们。

长度不均匀,有些包含字母,有些包含前导零,最大长度为15个字符。这是一个列表以及正确的排序:

Part       Correct Sort
00863      00863
1123       02257
02257      07706
6549       10338
6834       11212
07706      1123
8001       65412SSCY
8001       6549
10338      6834
11212      8001
65412SSCY  8001
EN93       EN93
SCSM11BE   SCSM11BE

希望获得宏或方法。

3 个答案:

答案 0 :(得分:2)

如果您将值格式化为文本而不是具有自定义数字格式的数字(对于前导零),那么您需要做的就是选择正确的排序警告选项。

Sort numbers as text

如果您选择*将单独存储为文本的数字和数字排序,您将得出正确的(根据您的样本)排序顺序。

请注意,默认情况下,文字在单元​​格中左对齐,而数字(无论格式编号如何)默认情况下右对齐。

答案 1 :(得分:0)

您需要为Excel指定正确的选项:

enter image description here

并在排序后:

enter image description here

答案 2 :(得分:0)

选择包含原始数据的列,然后单击“Text to Columns”。 选择“分隔”作为文件类型,然后单击“下一步”。 取消选中所有分隔符,然后单击“下一步”。 在第3步(共3步)窗口中,选择“文本”作为列数据格式。 然后单击“完成”。

现在,您的所有数据都将作为type = text。

然后再次选择所有数据,在排序中您可以选择“将数字和数字分类存储为单独文本”