Excel VBA - 如何按单元格的前两个字母排序?

时间:2014-01-31 18:46:12

标签: excel vba sorting

我想要排序两列。我希望它看起来完全像下面的列A首先按前两个字母排序,然后按B列排序。

Column A     -    Column B
AB - Info         3339876
AB - Data         3339877  
AB - Data         3339878 
AC - Info         3339123
AC - Data         3339124
AC - Info         3339125
AD - Info         3339456
AD - Info         3339457
AD - Data         3339458

A列的前两个字母是最重要的,必须先按它们排序。 A列前两个字母后的信息无关紧要,无关紧要。更重要的是,列B#数据按升序排序第二(在A列的前两个字母之后)

很抱歉这个混乱。希望能够解决问题。

3 个答案:

答案 0 :(得分:2)

通过突出显示列正常排序并按 Alt + A + SA


更新

'Excel sorts alphanumeric text left to right, character by character',因此如果合并到一个单元格中,它可能无法正确排序。您应该创建一个额外的列,其中只包含要用于排序的双字母代码,方法是使用=LEFT(A2,2)并一直复制。然后通过单击排序按钮进行多层排序,首先按字母顺序排序两位数代码,然后按数字列排序:

example

答案 1 :(得分:0)

选择单元格并正常排序。

答案 2 :(得分:0)

上面的答案并不是非常正确,它将起作用,直到所有数字都具有相同的长度。但如果我们有

AA 111
AA  99

然后excel对此进行排序:

AA111
AA99

(我们希望相反)。你应该使用上面提到的Left函数,但仅用于创建一个包含第一个字母的第一个字母的列。然后你必须使用custom sort http://office.microsoft.com/en-us/excel-help/sort-data-using-a-custom-list-HA102809333.aspx按新列排序fisrt,然后按数字

列排序