将三列排序为六列,使用excel按姓氏水平排序

时间:2015-05-29 05:48:20

标签: excel list vba sorting

我在一个活动中心工作,在入口门的两侧有一个纵向屏幕,我们希望列出人名和表号。我们经常以格式获取列表;

Surname  | First Name | Table Number
======================================
Aadomson |    Adam    |      5
Bobson   |    Bob     |      10

我们喜欢做的是拿这三列并获得一个脚本或其他东西(我们稍微超过我们的头脑)或指向正确的方向,可以将它分成两到三组列(2个姓氏,名字和表格)

对于像

这样的事情
Surname  | First Name | Table |  Surname  | First Name | Table
===============================================================
Aadamson |    Adam    |   5   |  Bobson   |     Bob    |  30
Christon |    Chris   |   8   | Donaldson |    Donald  |  40

如果有人能够提供任何令人难以置信的帮助!

1 个答案:

答案 0 :(得分:0)

检查thisthis,了解如何使用INDEX的提示。

我将使用更为一般的答案hereOFFSET(第8项)。

假设:

  • 您的源数据位于A2:C3(您可以根据需要扩展此范围),
  • 单元格D2包含3(您的源宽度)
  • 细胞D3含有2(重复数)
  • 您的目标范围从F2
  • 开始

然后是单元格F2:=OFFSET($A$2,(ROW()-ROW($F$2))*$D$3+INT((COLUMN()-COLUMN($F$2))/$D$2),MOD((COLUMN()-COLUMN($F$2)),$D$2))

将其复制到右侧(6列),然后根据需要向下复制。