在Excel

时间:2015-07-14 10:22:50

标签: excel sorting alphanumeric

我有一张Excel表格,其数据看起来像那样。

Data
x=1.1
x=11.2
x=10.3
x=1.4
x=2.5;2.6
x=2.1
x=4.7
x=6.8
x=6.2;6.3
x=1.10

我想要做的是,将List看起来像那样。

DataSort
x=1.1
x=1.4
x=1.10
x=2.1
x=2.5;2.6
x=4.7
x=6.2;6.3
x=6.8
x=10.3
x=11.2

我尝试用那个公式

做到这一点
=LEFT(Tabelle1[[#this row];[Data]];2) & TEXT(SUBSTITUTE(Tabelle1[[#this row];[Data]];LEFT(Tabelle1[[#this row];[Data]];2);"");"#0.0#")

但那没用。 有人能给我一个正确方向的暗示吗?

4 个答案:

答案 0 :(得分:1)

将数据复制到新列中,说B 如果您使用的是excel 2007或更高版本,请转到数据标签 - >在B

中选择数据后,文字到列选项

在这里,您可以选择分隔,并将数据分为2列。 然后根据此列应用排序

答案 1 :(得分:1)

在右侧未使用的列中,使用从第2行开始的此公式

=LEFT(A2, 2)&TEXT(--MID(A2, 3, FIND(".", A2&".")-3), "000;@")&TEXT(--MID(A2, FIND(".", A2&".")+1, 99), "000;@")

根据需要填写,然后使用帮助列作为主要排序键按常规排序。

Sort with Helper column

答案 2 :(得分:1)

如果你在数字之前加上0,那就会照顾它。

X = 01.1

或者,以复杂的方式,按照上面的建议拆分列,按照您想要的方式排序,然后重新组装。我还会创建一个具有正确的1-n序列的列,以防我需要以特定方式排序,但是回到原始排序。

答案 3 :(得分:0)

问题的解决方案是:

=LEFT(IF(ISNUMBER(SEARCH(";";A1));LEFT(A1;FIND(";";A1;1)-1);A1);2)&TEXT(--MID(IF(ISNUMBER(SEARCH(";";A1));LEFT(A1;FIND(";";A1;1)-1);A1);3;FIND(".";IF(ISNUMBER(SEARCH(";";A1));LEFT(A1;FIND(";";A1;1)-1);A1)&".")-3);"000;@") &TEXT(--MID(IF(ISNUMBER(SEARCH(";";A1));LEFT(A1;FIND(";";A1;1)-1);A1);FIND(".";IF(ISNUMBER(SEARCH(";";A1));LEFT(A1;FIND(";";A1;1)-1);A1)&".")+1;99);"000;@")