【问题标题】:Excel PivotTable; how to show values horizontallyExcel数据透视表;如何水平显示值
【发布时间】:2015-05-11 14:29:35
【问题描述】:

我正在尝试重新排列一个数据透视表,该表组织原始表中的所有值(不是总和或其他统计数据)。看起来很简单,但我找不到一种方法让它值而不是总和。

我的原始数据如下:

Rank    Name
1       A
1       B
2       C
2       D
3       E
3       F

使用数据透视表我得到类似的东西:

Rank  Name
1       A
        B
2       C
        D
3       E
        F

我想像这样重新排列它:

1          2            3
A          C            E
B          D            F

【问题讨论】:

  • 数据透视表无法做到这一点。数据透视表显示列和行标题之间关系的值。 2B 之间没有关系,如果有值就不会是D。您可能需要一个 VBA 例程来完成此操作。

标签: excel pivot-table


【解决方案1】:

有一种方法可以使用数组函数而不是数据透视表来实现。 假设您的原始数据位于 A1:B7 中。 获取标题行 (1, 2, 3):

A10: =MIN(A2:A7)
B10: =SMALL($A$2:$A$7,COUNTIF($A$2:$A$7,"<="&A10)+1)

然后将 B10 复制到您需要获取所有其他值的最右边

要获取每个等级的值,请使用以下公式在范围 A11:A16(或更低以适应更多项目)上设置数组公式 (Ctrl+Shift+Enter):

=IFERROR(INDEX($B$2:$B$7,SMALL(IF($A$2:$A$7=A$10,ROW($A$2:$A$7)-ROW($A$2)+1),ROW()-ROW(A$10))),"")

然后将这个范围 (A11:A16) 复制到你需要的最右边...

【讨论】:

  • 哇,漂亮。该阵列解决方案完美运行。谢谢!
猜你喜欢
  • 2017-04-10
  • 1970-01-01
  • 2017-03-22
  • 1970-01-01
  • 1970-01-01
  • 2021-04-23
  • 2021-03-21
  • 1970-01-01
相关资源
最近更新 更多