Excel Excel分组行

时间:2009-06-04 23:49:44

标签: excel vba excel-vba

我有一个包含组内信息的电子表格。标题行包含公司名称和信息,然后它们下面的分组行包含公司中人员的名称。

  

公司名称|员工人数|收入|
  员工姓名|电子邮件|电话

是否仍然按员工人数和/或收入进行排序,并将分组后的员工信息保存在公司下方?

通常,当我尝试时,它会对公司信息进行排序,但会按照输入的顺序保留员工信息。

2 个答案:

答案 0 :(得分:2)

如果我理解你的问题,我有办法你可以完成你想要的(不知道是否有更有效的方法)。

编写代码,对于每个公司标题行,将雇员和收入数据的数量复制到两个选定的未使用列中。需要将数据复制到标题公司行和详细信息员工行的列中。

在第三列中分配序列号。这是为了按员工/收入排序时将数据保持在一起。

现在,您可以按新创建的员工数量和/或收入列(以及序列列)进行排序,以维持公司内的订购。

排序后,您可以删除额外复制的数据行。

因此,如果您的数据看起来像这样......

A              B                  C
Penetrode      200                750000
Micheal Bolton mbolton@pene.com   555-555-3333
Samir N        samirn@pene.com
Initech        500                500000
Bill Lumbergh  umumyeah@init.com  555-555-1212    
Peter Gibbons  pgibbons@init.com  555-555-2222

然后,您的代码将复制员工数量和收入数据,并使用三个未使用的列对行进行排序。

A              B                  C             D                  E       F
Penetrode      200                750000        200                750000  1
Micheal Bolton mbolton@pene.com   555-555-3333  200                750000  2
Samir N        samirn@pene.com    555-555-3334  200                750000  3
Initech        500                500000        500                500000  4
Bill Lumbergh  umumyeah@init.com  555-555-1212  500                500000  5
Peter Gibbons  pgibbons@init.com  555-555-2222  500                500000  6

然后你可以在任何列组合上编码排序:(D,F),(E,F),(D,E,F)或(E,D,F)

答案 1 :(得分:0)

我想,迟到总比没有好,但我觉得我的LAselect插件可以解决你的问题。我创建了这个插件,因为我对我的数据做了很多非标准的“东西”,需要一个工具来处理它。 LAselect也可以产生你的“组”输出,你不需要隐藏的列或任何东西。我的意思是,您不需要改变您习惯使用的屏幕,以任何您想要的方式对它们进行排序。