如何在excel中对字母数字列表进行排序?

时间:2016-09-19 21:09:39

标签: excel-2010 worksheet-function

我正在尝试对文档列表进行排序,但我对以字母作为后缀的文档存在问题。

每当我们修改文档时,我们都会在数字的末尾添加一个字母,但是当我在excel中按数字排序时,它会像这样排序:

1
2
3
10
11
1606
1603D
1605B
1606A
1606C
1610A
1623A
20A
220B
390A
399A
402A
415A
450A
488A
557B

如何按文件编号和修改顺序排序? 像这样:

1
2
3
10
11
1603D
1605B
1606
1606A
1606C
1610A
1623A
20A
220B
390A
399A
402A
415A
450A
488A
557B

2 个答案:

答案 0 :(得分:0)

只要您混合使用文本和数字,就无法使用Excel的内置排序来实现您描述的结果。

如果您在数字上附加一个字母,则可以有效地将数据类型从数字更改为文本。文本将始终按> 任意数字后排序,因此数字1606位于文本1606A之前。

您可以尝试将所有值设为真实文本,也可以通过附加带点的数字来指示级别,如下所示:

1.
1.0.
1.1.
1.6.0.3.D
1.6.0.5.B
1.6.0.6.
1.6.0.6.A
1.6.0.6.C
1.6.1.0.A
1.6.2.3.A
2.
2.0.A.
2.2.0.B.
3.
3.9.0.A.
3.9.9.A.
4.0.2.A.
4.1.5.A.
4.5.0.A.
4.8.8.A.
5.5.7.B.

但即使这样也没有给出您描述为期望结果的排序顺序。

即使所有值都是文本,或者用小数.1,.2,.3替换A,B,C,也很难实现所需的排序顺序。 - 很难理解为什么在1623年之后会出现20个。

答案 1 :(得分:0)

我找到的解决方案是添加一个列,并将此公式复制到每个单元格中:

=IF(ISNUMBER(--RIGHT(A2)),A2,LEFT(A2,LEN(A2)-1))

该公式会删除数字中的字母,然后您可以使用新的清洁数字列对工作表进行排序。