现象及原因:
在Excel数据透视表中添加自定义计算字段进行计算时,有时会遇到计算“错误”的情况。例如用下图所示的数据源创建数据透视表后,添加计算字段“销售额”,公式为“数量*单价”,目的是为了得到各种“产品”的合计金额。而在数据透视表中却得到错误的结果。
例如数据源中“产品”为“鼠标”的记录有4个,其合计金额应为“90*35=3150”,而“销售额”返回的金额为“12600”。
这是因为,计算字段在计算时是先对字段中相关行的值求和,然后按照公式得到乘积,而不是先把两个字段相关行的值相乘后再对积求和,如本例“产品”“鼠标”的计算结果是“(24+26+18+22)*(35+35+35+35)=12600”,因而会返回“错误”。
解决办法:
首选在数据源中添加一个辅助列,如“金额”,输入公式让各行都返回“单价”与“数量”的乘积,再将该字段添加到数据透视表中就没有上述问题了。
如果由于某种原因不便在数据源中添加新的字段,可以采用下面的方法:
方法一:将单价和数量字段放于行字段位置,然后分别取消他们的分类汇总。
方法二:用导入外部数据+SQL语句的方法
1.单击“数据→现有链接→浏览更多”,在弹出的对话框中找到并选择当前工作簿,单击“打开”,弹出“选择表格”对话框。
2.在弹出的“导入数据”对话框中选择“数据透视表”,并设置数据的存放位置,单击“属性”按钮。
3、在链接属性”对话框中选择“定义”选项卡,在“命令文本”中输入SQL命令:
select 销售数量*销售单价 as 销售额, * from [Sheet1$]
4、返回“导入数据”对话框,单击“确定”,然后在新创建的数据透视表中添加所需字段,可以看到,新增的“销售额”字段可以返回正确的结果。
閱讀更多 數據匠人 的文章