当保存原始列表中的顺序时,组合和排序列表

时间:2015-02-22 16:22:16

标签: excel excel-formula

假设我有几个我正在尝试组合的数据集,然后按某个类别进行排序,但需要保留原始列表的顺序。例如,我有以下数据集:

[Event, variable X]

List A -- List B -- List C

[1A, 5] -- [1B, 2] -- [1C, 20]

[2A, 6] -- [2B, 4] -- [2C, 10]

[3A, 2] -- [3B, 12] -- [3C, 14]

我希望将所有集合组合起来,看看它们如何按X的顺序排列,这很简单,但是需要保留原始列表中的顺序(例如,3C只能在2C之后发生)。所以最终的清单看起来像是:

1. [1B, 2]
2. [2B, 4]
3. [1A, 6]
4. [2A, 5]
5. [3A, 2]
6. [3B, 12]
7. [1C, 20]
8. [2C, 10]
9. [3C, 14]

因此,即使3A中的X等于1B且低于2B,它也只能在所有之前的“A”事件之后列出,这些事件在超过2B之前不能列出

1 个答案:

答案 0 :(得分:0)

最好的选择是使用命名范围和Microsoft Query。问题是这不是动态的(如果你有15列,你需要有15个union语句)。但是,如果你有数千行,那么我可能会更快。如果您只是在文件中有信息或只有几个记录,只需复制和粘贴。

  1. 为值'DataRange'
  2. 命名
  3. 创建新工作表名称“NewTable”
  4. 将文件保存到桌面/任何位置
  5. 数据>来自其他来源>来自Microsoft Query
  6. 选择'DataRange'命名范围
  7. 对于您需要的每个列,请输入以下内容
  8. SELECT DataRange.ID & 'A',DataRange.'Dataset A' FROM DataRange DataRange UNION SELECT DataRange.ID & 'B',DataRange.'Dataset B' FROM DataRange DataRange ...

    我认为您关注但请告诉我。