我在 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 处使用的连接运算符“&”。还请注意 $ 符号,它创建了绝对引用。
输入数组公式后,您可以将其拖动到横向和纵向。
如果您有其他问题或行要添加,只需将它们附加到表格对象即可;它将自动扩展以包含它们。当然,您需要扩展最终报告的布局以接收添加的内容。