【发布时间】:2017-07-26 20:56:12
【问题描述】:
我有一个包含大量 5 位数字列表的电子表格。我想按最后 2 位数字来组织这些数字。我有一个有效的公式可以做到这一点,所以这不是我的问题。我现在的问题是这些数字是按最后 2 位数字组织的,现在有什么方法可以按所有 5 位数字对这些数字进行排序吗?我的意思是:我的号码现在是这样排列的:
12300
15600
12400
15700
12301
15601
12401
15601
etc
我现在要做的是再次按所有 5 位数字对它们进行排序,但也在按最后 2 位数字对它们进行排序的子集中,如下所示:
12300
12400
15600
15700
12301
12401
15601
15701
etc
这可能吗?
下面是按最后两位数字对数字进行排序的代码:
[B:B].Insert Shift:=xlToRight
n = [A65000].End(xlUp).Row
For Each c In Range("A1:A" & n)
c.Offset(0, 1) = Right(c, 2)
Next c
Range("A1:B" & n).Sort Key1:=[B2], Order1:=xlAscending
[B:B].Delete
【问题讨论】:
-
创建一个 3 位列和一个 2 位列。高级排序界面允许您先按一列排序,然后再按另一列排序。
-
谢谢,我会这样做的。
-
抱歉,John Coleman,我不小心删除了您的评论。我已经编辑了我的问题以包含代码。
-
您创建新列、按其排序然后删除的方法似乎合乎逻辑。您可以做的是创建 两个 新列,一个与您已有的相同,另一个使用
Left而不是Right。在排序命令中使用Key2和Option2。删除最后的两列。顺便说一句——当它变得没有意义时,我删除了我的评论。您不能删除其他人的评论(除非您具有版主身份)。 -
我是在删除第一列之前还是之后添加这个新列?