将行组转置为列

将行组转置为列

我在 Excel 中有一个这样的表格:

Row | Question | Answer
1   |    Q1    |   a
1   |    Q2    |   b
1   |    Q3    |   c
2   |    Q1    |   d
2   |    Q2    |   e
2   |    Q3    |   f

我想把我的问题放在列中,把我的答案放在值中:例如,我希望我的输出是:

Row |  Q1 |  Q2 |  Q3
1   |  a  |  b  |  c
2   |  d  |  e  |  f

我怎样才能做到这一点?

答案1

您需要一个数据透视表布局(或者,如果这是 Microsoft Access 问题,则需要“交叉表”报告),但您不需要数据透视表固有的任何汇总功能。如果 Excel 数据透视表可以提供此选项,那就太好了——但它们没有。

INDEX+MATCH 可以帮您完成此操作,同时还有一个 Excel“表格”对象。请参见下图。

输入数据后,将其转换为表格(“插入”、“表格”)。

将您的“问题”列成一行;将您的“行”列成一列。(注意:我擅自将您的“行”重命名为“部分”。我还对您的数据集进行了一点扩展。)

在单元格 G4 中,公式为

{=IFERROR(INDEX(Table1[Answer],MATCH(G$3 & $F4,Table1[[Question ]] & Table1[Section],0)),"")}

这是一个数组公式,使用 CTRL+SHIFT+ENTER 输入。还请注意在 2 处使用的连接运算符“&”。还请注意 $ 符号,它创建了绝对引用。

输入数组公式后,您可以将其拖动到横向和纵向。

如果您有其他问题或行要添加,只需将它们附加到表格对象即可;它将自动扩展以包含它们。当然,您需要扩展最终报告的布局以接收添加的内容。

在此处输入图片描述

相关内容