兩種解決數據透視表計算字段出現“錯誤”的方法(數據透視表計算項顯示問題)
數據透視表計算字段出現“錯誤”的現象及原因
在Excel數據透視表中添加計算字段進行計算時,有時會遇到計算“錯誤”的情況。例如用下圖所示的數據源創建數據透視表后,添加計算字段“字段1”,公式為“數量*單價”,目的是為了得到各種“商品”的合計金額。而在數據透視表中卻得到錯誤的結果。
例如數據源中“商品編號”為“A51052”的記錄有3個,其合計金額應為“50*100=500”,而“字段1”返回的金額為“15000”。
另外,總計行中計算字段的計算結果也是如此。這是因為,計算字段在計算時是先對字段中相關行的值求和,然后按照公式得到乘積,而不是先把兩個字段相關行的值相乘后再對積求和,如本例“商品編號”“A51052”的計算結果是“(10+20+20)*(100+100+100)=15000”,因而會返回“錯誤”。
數據透視表計算字段出現“錯誤”的解決辦法
首選在數據源中添加一個輔助列,如“金額”,輸入公式讓各行都返回“單價”與“數量”的乘積,再將該字段添加到數據透視表中就沒有上述問題了。如果由于某種原因不便在數據源中添加新的字段,可以采用下面的方法,以Excel2013和上圖數據為例。
方法一:用SQL
1、保存工作簿,單擊“數據→現有鏈接→瀏覽更多”,在彈出的對話框中找到并選擇當前工作簿,單擊“打開”,彈出“選擇表格”對話框。如下圖,本例的數據在“Sheet1”工作表的A1:D29區域中,第一行為標題。因而選擇“Sheet1$”,并保持勾選“數據首行包含列標題”,單擊“確定”。
2、在彈出的“導入數據”對話框中選擇“數據透視表”,并設置數據的存放位置,單擊“屬性”按鈕。
3、接著在“鏈接屬性”對話框中選擇“定義”選項卡,在“命令文本”中輸入SQL命令:
返回“導入數據”對話框,單擊“確定”,然后在新創建的數據透視表中添加所需字段,可以看到,新增的“金額”字段可以返回正確的結果。
方法二:用PowerPivot
1、首先要在Excel中加載PowerPivot加載項:單擊“文件→選項→加載項”,在“管理”右側的下拉列表中選擇“COM 加載項”并單擊“轉到”,彈出“COM加載項”對話框?;蛘邌螕簟伴_發工具→COM加載項”彈出該窗口。在其中選擇“Microsoft Office PowerPivot for Excel 2013”選項后確定。PowerPivot選項卡即會出現在Excel功能區中。
2、選擇數據源中的某個單元格,單擊“插入→數據透視表”創建數據透視表,在“創建數據透視表”對話框中勾選“將此數據添加到數據模型”,單擊“確定”。
Excel創建了一個模型表名稱為“區域”的數據透視表,如數據透視表字段列表。
3、選擇“PowerPivot→計算字段→新建計算字段”,彈出“計算字段”對話框,將“計算字段名稱”設置為一個有意義的名稱,如本例“金額”,在“公式”下方的文本框中輸入DAX公式:
=sumx('區域',[單價]*[數量])
SUMX函數為數據分析表達式(即DAX:用于PowerPivot中定義計算的公式表達式語言)中的一個函數,返回表中每一行計算的表達式之和。單擊“確定”,數據透視表字段列表中會添加一個新的字段“金額”。將所需的字段如“商品編號”、“單價”、“數量”、“金額”等添加到數據透視表,其中“單價”字段添加到行區域。
可以看到,數據透視表中的“金額”即為我們所需的結果。
版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。