Excel数据透视图使用“显示为其他基准项的百分比”时隐藏100%列的方法
Excel数据透视图使用“显示为其他基准项的百分比”时隐藏100%列的方法
我太懂你这种烦恼了——用Excel透视表做病假占工作日的百分比图表时,那个自动冒出来的100%基准列真的很碍事,既占版面又让真正想看的病假占比数据显得不突出。结合你的情况,给你几个实用的解决办法:
方法一:先在源数据加辅助列计算占比(最省心)
直接在源数据里新增一列,比如命名为「病假占工作日比例」,然后输入公式:
=IF([@QuestionText]="Sick days",[@Value]/XLOOKUP([@Location],Table1[Location],Table1[Value],,0,(Table1[QuestionText]="Work days")),)
(这里假设你的数据是结构化表格,表名为Table1;如果是普通区域,把[@列名]换成对应的单元格引用就行)
这个公式的逻辑是:只有当当前行是「Sick days」时,才用它的数值除以对应地点的「Work days」数值,其他行留空。之后直接用这个辅助列做透视表,把Location拖到轴,辅助列拖到值,就能得到干净的百分比图表,完全不会出现多余的100%列。
方法二:给透视表添加计算字段(不用改源数据)
如果不想动源数据,可以在透视表里直接创建计算字段:
- 点击透视表的任意单元格,切换到「分析」选项卡(Excel 2013及以前是「选项」卡)
- 点击「字段、项目和集」→「计算字段」
- 在弹出的窗口里,名称填「病假占比」,公式输入:
=SUM(IF(QuestionText="Sick days",Value,0))/SUM(IF(QuestionText="Work days",Value,0)) - 确定后,把这个新的计算字段拖到「值」区域,然后把「QuestionText」从图例区域移除,只保留「Location」作为轴。这样生成的图表就只有每个地点的病假占比,不会出现那个100%的基准列。
方法三:手动隐藏多余的系列(应急用)
如果你坚持想用原来的「显示为% Of」设置,也可以把那个100%的系列隐形:
- 右键点击图表里的100%柱子(就是基准项对应的系列)
- 选择「设置数据系列格式」
- 在「填充」里选「无填充」,「边框」选「无线条」
- 这样这个系列就彻底看不见了,不过要注意:如果后续透视表更新数据,可能需要重新设置一次。
另外你提到在「选择数据」窗口里没法移除这个数据集,是因为透视表的图表系列和透视表结构是联动的,没法直接删除,用上面的方法就能完美解决啦!
备注:内容来源于stack exchange,提问作者Christian A. Rasmussen




