如何在LibreOffice中创建多列答案计数的Pivot Table
在LibreOffice中生成多列答案计数的两种方法
方法一:转置数据格式后用数据透视表
LibreOffice的数据透视表更适配长格式数据,你当前的表格属于宽格式(每行对应多个问题的答案),先转成每行对应一个问题+答案的结构:
生成长格式数据
在原表格旁插入两列(比如D、E列),D1输入「问题」,E1输入「取值」:- D2单元格输入公式:
=INDEX($A$1:$C$1,INT((ROW(A2)-2)/5)+1) - E2单元格输入公式:
=INDEX($A$2:$C$6,MOD(ROW(A2)-2,5)+1,INT((ROW(A2)-2)/5)+1)
下拉公式到第16行(原数据5行×3列=15条有效数据),就能得到所有问题与对应答案的长列表。
- D2单元格输入公式:
创建目标透视表
选中D1:E16区域,点击「数据」→「数据透视表」→「创建」:- 将「取值」拖到行区域
- 将「问题」拖到列区域
- 将「取值」拖到数据区域,右键数据字段→「字段设置」,选择「计数」
- 空值显示0:右键透视表→「数据透视表选项」→「显示」,勾选「空单元格显示为」并输入0
生成的透视表完全匹配你需要的格式。
方法二:直接用COUNTIF公式计算
如果不想操作透视表,用COUNTIF函数直接生成结果表更快捷:
- 手动列出所有可能的取值(a、b、c、d、e)作为结果表的第一列
- 问题1的计数列(比如B列):在B2输入
=COUNTIF($A$2:$A$6,A2),下拉到所有行 - 问题2的计数列(C列):在C2输入
=COUNTIF($B$2:$B$6,A2),下拉到所有行 - 问题3的计数列(D列):在D2输入
=COUNTIF($C$2:$C$6,A2),下拉到所有行
所有无匹配的计数会自动显示0,直接得到目标表格。
内容的提问来源于stack exchange,提问作者E.J
相关产品推荐
相关产品推荐

