【问题标题】:Sort alphanumeric values对字母数字值进行排序
【发布时间】:2015-10-14 08:42:17
【问题描述】:

我需要按字母数字对零件编号列表进行排序。尽管当我打开自动过滤器下拉菜单时,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

希望有一个宏或方法。

【问题讨论】:

    标签: excel sorting excel-2010 vba


    【解决方案1】:

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

            

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

    请注意,单元格中的文本默认为左对齐,而数字(无论其数字格式如何)默认为右对齐。

    【讨论】:

    • 我无法解释这一点,但我已经对该列进行了数十次排序(我的自动过滤器有这样显示的图标。)我确实将值作为文本,所以我保留了所有前导零,但我没有被提示输入此框。我只是运行排序(不是通过自动过滤器),当然会提示:单独排序和volia!我觉得很愚蠢,因为之前和现在每次我对这个列进行排序,即使在没有保存它之后也是正确排序....也许通过单独说,我在某处更改了一个设置... Idk 感谢所有人展示这一点并制作我完成了我认为我已经在做的事情。
    【解决方案2】:

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

    排序后:

    【讨论】:

      【解决方案3】:

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

      您的所有数据现在都将充当 type = text。

      然后再次选择所有数据,在排序中可以选择“对数字和数字分别存储为文本进行排序”

      【讨论】:

        猜你喜欢
        • 2018-02-09
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2011-08-24
        • 1970-01-01
        • 2018-07-29
        • 2018-05-04
        相关资源
        最近更新 更多