将行值显示为按某个列分组的列

我在MS-Excel中有一些特定的数据,如下所示 –

unit installment Amount date u1 m1 1500 11-Jan-14 u1 m2 1000 15-Apr-14 u1 m3 2500 17-Sep-14 u2 m1 2400 12-Feb-14 u2 m2 1800 14-Jun-14 u3 m1 8000 11-Jan-14 u3 m2 1600 15-Apr-14 u3 m3 4500 17-Sep-14 

我需要以下格式的MS-Excel输出 –

 Unit m1 Date m2 Date m3 Date u1 1500 11-Jan-14 1000 15-Apr-14 2500 17-Sep-14 u2 2400 12-Feb-14 1800 14-Jun-14 u3 8000 11-Jan-14 1600 15-Apr-14 4500 17-Sep-14 

这是我在MS-excel 2010版中需要的。我不确定这是否在技术上是可能的,因此我已经寻找了一个可能的解决scheme,但是到处都是最终进入转置。 但是如果你注意到,这实际上不是一个转置。

: – 分期付款(m1,m2,m3)是可变的。 但是,可以假设所有唯一的集合将显示为列标题。 如果任何单位没有里程碑,它将是空白的(例如: – 对于上面的u2 – m3是空白的)。

此外,如果这个解决scheme是可能的使用SQL,即使这样我可以通过获得出口的Excel中的SQL结果来解决这个问题。 如果解决scheme在SQL中是可行的,那么请将上述input数据假设为一个源表并输出数据作为结果。

假设没有重复的Unit / Installment对,这个转换可以通过使用数据透视表进行几次点击(如果有重复的话,只显示AmountDate聚合值(例如max ))。 以下是详细的解释。

步骤1。

select你的数据,转到INSERT-->PivotTable并创build新的INSERT-->PivotTable表。

在这里输入图像说明

第2步。

拖动列名(如下图所示):

  • unitROWS区域。
  • installmentCOLUMNS区域。
  • AmountVALUES区域。
  • dateVALUES区域。

在这里输入图像说明

第三步。

VALUES区域的Amount字段上点击鼠标左键(可以命名Sum of Amount或类似的东西),然后点击Value Filed Settings...

在这里输入图像说明

步骤4。

将计算types更改为Max并将其名称改为Amount_ (因为我们已经在初始数据中已经有了名称,所以我们不能使用Amount名称,这就是为什么我已经将下划线_添加到名称 – 可以将其更改为空格)。

在这里输入图像说明

第五步。

VALUES区域的Date字段上点击鼠标左键(可以命名Count of Date或类似的东西),然后点击Value Filed Settings...

在这里输入图像说明

第六步。

将计算types更改为Max并命名为Date_ (我们不能使用Date名称,因为我们已经在初始数据中使用了这个名称,这就是为什么我已经将下划线_添加到名称 – 可以将其更改为空格)。
此外,对于date字段,我们应该更改数字格式 (因为它可以显示为数字,而不是date)。 所以,点击Number Formatbutton。

在这里输入图像说明

第七步。

select所需的date格式。

在这里输入图像说明

第八步。

如果您的表格包含“总计”行/列,则可以按照下图所示禁用它们。 随着数据透视表上的活动单元转到Design--> Grand Totals并selectOff for Rows and Columns

在这里输入图像说明

结果。

现在你的桌子已经可以使用了。 如果你不想像数据透视表一样使用它,只需将它的内容作为普通数据复制到其他地方。

在这里输入图像说明