如何在数据透视表行项目中添加非分组的1:1属性?
如何在Excel数据透视表中添加不分组的1:1附加属性列
嘿,我完全懂你的困惑——用SQL实现这种带1:1关联属性的透视报表简直行云流水,但刚接触数据透视表时确实会摸不着头脑,核心原因是它的默认行为和SQL的透视逻辑有差异,但其实完全能实现你要的效果!
核心思路
数据透视表默认会对行区域的字段进行层级分组,但它支持将同一层级的多个1:1关联字段放在行区域,只要调整布局就能避免分组,实现类似SQL里多列SELECT后透视的效果。
具体操作步骤(以你的书籍销量例子为例)
假设你的原始数据结构是:Title | Author | Year | Sales
构建基础透视表
- 选中原始数据,插入数据透视表
- 将
Title和Author拖到「行」区域(注意:把Author放在Title的同一层级,不要嵌套在Title下方) - 将
Year拖到「列」区域 - 将
Sales拖到「值」区域(默认是求和,正好符合你的需求)
调整布局消除分组
- 选中数据透视表,切换到「设计」选项卡
- 点击「报表布局」,选择「以表格形式显示」——这会让行区域的字段横向排列,而非垂直嵌套
- 再点击「报表布局」,选择「重复所有项目标签」——这会让每个
Title对应的Author都显示在对应行,不会只在第一行出现 - (可选)右键点击行区域的字段标题(比如「行标签」),选择「隐藏字段标题」,让表格更简洁
调整列顺序
- 直接拖动
Author列到Title列旁边,就能得到你想要的报表样式:Title Author 2019 2020 2021 Totals Awesome Book J. T. Joel 100 120 90 320 Crappy Book Karl Klapp 50 40 10 100
- 直接拖动
为什么之前觉得难?
你并没有误解数据透视表的工作原理,只是它的默认行为是为了处理层级关联的字段(比如分类→子类),而你需要的是平级的属性展示——只要调整布局选项,就能让它适配1:1关联的场景,和SQL的逻辑完全对应。
内容的提问来源于stack exchange,提问作者jbz
相关产品推荐
相关产品推荐

