使用具有此设置的数据透视表:
Name Amount Total
Jan Feb ...
A 1 2 3
B 2 1 3
C 4 1 5
D 3 3 6
Total 10 7 17
数据来自一个表,其中每个“金额”具有特定日期(2016年1月1日或2016年2月4日),然后这些日期按月在数据透视表中分组 . 此数据透视表将更改/将添加月份,因此它不是固定大小 . 我想最终得到这样的东西:
Name Amount Total %
Jan Feb ...
A 1 2 3 17%
B 2 1 3 17%
C 4 1 5 29%
D 3 3 6 35%
Total 10 7 17 100%
但是,当我尝试通过在数据源中添加百分比列或使用“计算字段”来执行此操作时,每个“数量”列都会显示%列 . 例如:
Name Amount Total
Jan % Feb % ...
A 1 5% 2 11% 17%
B 2 11% 1 5% 17%
C 4 23% 1 5% 29%
D 3 17% 3 17% 35%
Total 10 58% 7 41% 100%
*请注意,我的Grand Total Field会自动删除
是否有任何方法可以在没有VBA的情况下实现我想要的结果,并且没有维护数据透视表(隐藏/取消隐藏行,在数据透视表末尾添加一个单独的表,将在添加新月时删除)
我还想保留自动Grand Total字段,但是我可以在源数据中手动创建一个 . (假设我可以弄清楚如何在数据透视表中插入单个列)
2 回答
在数据透视表中,您需要关闭小计,默认情况下处于启用状态 . 每个月后的百分比是小计,而最后一列百分比称为总计 . 总计是你想要的 .
要关闭小计,您需要进入设计选项卡,然后单击小计的“不显示小计”选项 .
您可以使用格式和字段名称:
在"Summarize values by"中拖动两次"Amount" - > Sum 另一个"Show value as" - > % of Grand Total
在数据透视表中放置一个空格
" "
并将空格" "
作为字段名称" "
使用空格作为[%Field]中值的自定义格式For Total%使用通常的百分比格式
刷新表格时使用格式会很烦人,但这是避免数据透视表外的假列的解决方案 .