在數據透視表中,可在值字段中使用匯總函數合并基礎源數據中的值。 如果匯總函數和自定義計算無法提供所需結果,可在計算字段和計算項中創建自己的公式。 例如,可為計算項添加計算銷售傭金的公式,銷售傭金在每個地區可能有所不同。 然后,數據透視表?自動將傭金包含在分類匯總和總計中。
詳細了解如何在數據透視表??中計算值
數據透視表提供了一些計算數據的方法。 詳細了解可用的計算方法、源數據類型對計算產生的影響,以及如何在數據透視表和數據透視圖中使用公式。
可用計算方法
要在數據透視表??中計算值,可使用以下任一或所有類型的計算方法:
-
值字段中的匯總函數????值區域中的數據可將數據透視表??的中基礎源數據匯總。 例如,下列源數據:
-
生成以下數據透視表和數據透視圖。 如果通過數據透視表中的數據創建數據透視圖,則該數據透視圖中的值會反映關聯的數據透視表中的計算。
-
在數據透視表??中,“月份”列字段提供的項為“三月”和“四月”。 “地區”行字段提供的項為“北部”、“南部”、“東部”和“西部”。 “四月”列和“北部”行交叉處的值為來自源數據的記錄中的總銷售收入(“月份”值為“四月”,“地區”值為“北部”)。
-
在數據透視圖中,“地區”字段可能是一個分類字段,將“北部”、“南部”、“東部”和“西部”顯示為類別。 “月份”字段可以是一個系列字段,將“三月”、“四月”和“五月”作為系列顯示在圖例中。 名為“銷售總額”的“值”字段可包含數據標記,用于顯示各地區的每月總收入。 例如,一個數據標記可通過其在縱軸(值)上的位置表示“北部”地區“四月”的銷售總額。
-
要計算值字段,可所有類型的源數據(聯機分析處理 (OLAP) 源數據除外)使用以下匯總函數。
函數
概述
Sum
值的總和。 這是用于數值數據的默認函數。
Count
數據值的數量。 Count 匯總函數的作用與 COUNTA 函數相同。 Count 是數字以外數據的默認函數。
Average
值的平均值。
Max
最大值。
Min
最小值。
Product
值的乘積。
Count Nums
數字型數據值的數量。 Count Nums 匯總函數的作用與 COUNT 函數相同。
StDev
估算總體的標準偏差,其中樣本是整個總體計算的子集。
StDevp
總體的標準偏差,其中總體是要匯總的所有數據。
Var
估算總體的方差,其中樣本是整個總體計算的子集。
Varp
總體的方差,其中總體是要匯總的所有數據。
-
自定義計算????自定義計算 根據數據區域中的其他項或單元格來顯示值。 例如,可將“銷售總額”數據字段中的值顯示為“三月”銷售額的某個百分比,或顯示為“月份”字段中各項的匯總值。
下列函數可用于值字段中的自定義計算。
函數
結果
無計算
顯示在該字段中輸入的值。
總計的百分比
將值顯示為報表中所有值或數據點的總計百分比。
列匯總百分比
將每個列或系列中的所有值顯示為列或系列的匯總百分比。
行匯總百分比
將每個行或類別中的值顯示為行或類別中的匯總百分比。
某一字段中某項的百分比
將值顯示為“基本字段”中“基本項”值的百分比。
父行匯總百分比
按如下方式計算值:
(該項的值)/(行上父項的值)
父列匯總百分比
按如下方式計算值:
(該項的值)/(列上父項的值)
父級匯總的百分比
按如下方式計算值:
(該項的值)/(所選“基本字段”中父項的值)
差異
將值顯示為與“基本字段”中“基本項”值的差異。
差異百分比
將值顯示為與“基本字段”中“基本項”值的差異百分比。
按某一字段匯總
將“基本字段”中連續項的值顯示為匯總。
按某一字段匯總的百分比
計算“基本字段”中連續項的值,并將該值顯示為匯總百分比。
按升序排名
顯示某一特定字段中所選值的排位,其中將該字段中的最小項列為 1,而每個較大的值將具有較高的排位值。
按降序排名
顯示某一特定字段中所選值的排位,其中將該字段中的最大項列為 1,而每個較小的值將具有較高的排位值。
索引
按如下方式計算值:
((單元格中的值)x(總計/整體總計))/((行總計)x(列總計))
-
公式????如果匯總函數和自定義計算無法提供所需結果,可在計算字段和計算項中創建自己的公式。 例如,可為計算項添加計算銷售傭金的公式,銷售傭金在每個地區可能有所不同。 然后,報表自動將傭金包含在分類匯總和總計中。
源數據類型如何影響計算
報表中可用的計算和選項取決于源數據是來自 OLAP 數據庫,還是非 OLAP 數據源。
-
基于 OLAP 源數據的計算????對于創建自 OLAP 多維數據集的數據透視表,會在 OLAP 服務器上預先計算匯總值,然后在 Excel 中顯示結果。 不能更改這些預計算值在數據透視表??中的計算方式。 例如,不能更改用于計算數據字段或分類匯總的匯總函數,也不能添加計算字段或計算項。
此外,如果 OLAP 服務器提供計算字段(稱為計算成員),可在數據透視表字段列表中看到這些字段。 還可看到通過宏(在 Visual Basic for Applications (VBA) 中編寫并存儲在工作簿中)創建的所有計算字段和計算項,但不能更改這些字段或項。 如需其他計算類型,請聯系 OLAP 數據庫管理員。
對于 OLAP 源數據,可在計算分類匯總和總計時包括或排除隱藏項的值。
-
基于非 OLAP 源數據的計算????在基于其他類型的外部數據或基于工作表數據的數據透視表中,Excel 使用 Sum 匯總函數來計算包含數值數據的值字段,并使用 Count 匯總函數來計算包含文本的數據字段。 可選擇不同的匯總函數(例如,Average、Max 或 Min)以進一步分析和自定義數據。 此外,還可通過創建計算字段或在字段內創建計算項,創建使用報表元素或其他工作表數據的自定義公式。
在數據透視表中使用公式
僅可在基于非 OLAP 源數據的報表中創建公式。 不能在基于 OLAP 數據庫的報表中使用公式。 在數據透視表中使用公式時,應了解以下公式語法規則和公式行為:
-
數據透視表公式元素????在為計算字段和計算項創建的公式中,可像在其他工作表公式中一樣使用運算符和表達式。 可使用常量,也可引用報表中的數據,但不能使用單元格引用或定義的名稱。 不能使用需要將單元格引用或定義的名稱作為參數的工作表函數,也不能使用數組函數。
-
字段和項名稱????Excel 使用字段和項名稱來標識公式中的報表元素。 在以下示例中,C3:C9 區域中的數據使用字段名稱“奶制品”。 “類型”字段中的計算項(根據乳制品銷售額估算新產品的銷售額)可使用諸如 =奶制品 * 115% 等公式。
注意:?在數據透視圖中,字段名稱顯示在數據透視表字段列表中,而項名稱顯示在每個字段的下拉列表中。 不要將這些名稱與圖表信息中顯示的名稱混淆,圖表信息中的名稱反映系列和數據點名稱。
-
公式針對總數(而不是單個記錄)進行運算????計算字段公式針對公式中任何字段的基礎數據總和進行運算。 例如,計算字段公式 =銷售額 * 1.2 會將每個類型和地區的銷售總額乘以 1.2;而不是將單個銷售額乘以 1.2,然后對相乘得到的數進行求和。
計算項公式針對單個記錄進行運算。 例如,計算項公式 =奶制品 * 115% 會將每個乳制品銷售額乘以 115%,然后再將相乘所得的數匯總到“值”區域。
-
名稱中的空格、數字和符號????在包括多個字段的名稱中,這些字段可按任意順序排列。 在上述示例中,單元格 C6:D6 可以是“‘四月 北部’”,也可以是“‘北部 四月’”。 如果名稱包含多個單詞,或者包含數字或符號,請在該名稱兩邊加上單引號。
-
總計????公式不能引用總計(如示例中的“三月總計”、“四月總計”和“總計”)。
-
項引用中的字段名稱????可在對項的引用中包括字段名稱。 項名稱必須放入方括號中 – 例如 地區[北部]。 如果某報表中兩個不同字段中的兩個項具有相同名稱, 使用此格式可避免 #NAME? 錯誤。 例如,如果報表的“類型”字段中有名為“肉類”的項,而“分類”字段中也有名為“肉類”的項, 可將這兩個項分別引用為類型[肉類] 和分類[肉類],以防止 #NAME? 錯誤。
-
按位置引用項????可根據當前排序和顯示,按照項在報表中的位置引用項。 類型[1] 是“奶制品”,類型[2] 是“海鮮”。 每當項的位置發生更改,或者顯示或隱藏其他項時,通過這種方式引用的項也會隨之更改。 隱藏項不會計入此索引。
可使用相對位置引用項。 相對于包含公式的計算項來確定位置。 如果“南部”是當前地區,那么地區[-1] 是“北部”;如果“北部”是當前地區,那么地區[+1] 是“南部”。 例如,計算項可使用公式 =地區[-1] * 3%。 如果提供的位置在字段中第一個項之前或最后一個項之后,公式會引發 #REF! 錯誤。
在數據透視圖中使用公式
要在數據透視圖中使用公式,可在關聯的數據透視表(可在其中看到組成數據的各值)中創建公式,然后在數據透視圖中以圖形方式查看結果。
例如,下面的數據透視圖顯示每個地區各銷售員的銷售額:
要了解銷售額增長 10% 后的情況,可在關聯的數據透視表??中創建一個計算字段,使用諸如 =銷售額 * 110% 等公式。
結果立即在數據透視圖中顯示,如下圖所示:
要查看表示北部地區銷售額減去 8% 的運輸成本的數據標記,可使用諸如 =北部 – (北部 * 8%) 等公式在“地區”字段中創建計算項。
生成的圖表如下所示:
但是,在“銷售員”字段中創建的計算項在圖例中顯示為系列,在每個圖表中顯示為各類別的數據點。
較新版本 Office 2007 Web
在數據透視表中創建公式
重要:?不能在連接到聯機分析處理 (OLAP) 數據源的數據透視表中創建公式。
開始之前,請確定是需要計算字段,還是字段內的計算項。 如果要在公式中使用其他字段中的數據,請使用計算字段。 如果希望公式使用一個字段內的一個或多個特定項中的數據,請使用計算項。
對于計算項,可逐單元格輸入不同公式。 例如,如果名為 OrangeCounty 的計算項將公式 =Oranges * .25 用于所有月份,那么可針對六月、七月和八月將該公式更改為 =Oranges *.5。
如果具有多個計算項或公式,可調整計算順序。
添加計算字段
-
單擊數據透視表。
此操作將顯示數據透視表工具,并添加“分析”和“設計”選項卡。
-
在“分析”選項卡的“計算”組中,單擊“字段、項目和??集”,然后單擊“計算字段”。
-
在“名稱”框中,鍵入字段名稱。
-
在“公式”框中,輸入字段公式。
要在公式中使用另一字段中的數據,請在“字段”框中單擊該字段,然后單擊“插入字段”。 例如,要針對“銷售額”字段中各值計算 15% 的傭金,可輸入 = 銷售額 * 15%。
-
單擊“添加”。
向字段添加計算項
-
單擊數據透視表。
此操作將顯示數據透視表工具,并添加“分析”和“設計”選項卡。
-
如果字段中的項已分組,請在“分析”選項卡的“分組”組中,單擊“取消組合”。
-
單擊要向其中添加計算項的字段。
-
在“分析”選項卡的“計算”組中,單擊“字段、項目和??集”,然后單擊“計算項”。
-
在“名稱”框中,鍵入計算項的名稱。
-
在“公式”框中,輸入項公式。
要在公式中使用某個項中的數據,請在“項”列表中單擊該項,然后單擊“插入項”(該項必須來自與計算項相同的字段)。
-
單擊“添加”。
逐單元格為計算項輸入不同公式
-
單擊要更改其公式的單元格。
要更改多個單元格的公式,請按住 Ctrl,然后單擊其他單元格。
-
在編輯欄中,鍵入對公式的更改。
調整多個計算項或公式的計算順序
-
單擊數據透視表。
此操作將顯示數據透視表工具,并添加“分析”和“設計”選項卡。
-
在“分析”選項卡的“計算”組中,單擊“字段、項目和??集”,然后單擊“求解次序”。
-
單擊公式,然后單擊“上移”或“下移”。
-
繼續操作,直到公式按所需計算順序排列。
查看數據透視表??中使用的所有公式
可顯示當前數據透視表中使用的所有公式列表。
-
單擊數據透視表。
此操作將顯示數據透視表工具,并添加“分析”和“設計”選項卡。
-
在“分析”選項卡的“計算”組中,單擊“字段、項目和??集”,然后單擊“列出公式??”。
編輯數據透視表公式
編輯公式前,請確定該公式位于計算字段內,還是計算項內。 如果公式位于計算項內,還需確定該公式是否是計算項的唯一公式。
對于計算項,可編輯計算項特定單元格的單個公式。 例如,如果名為 OrangeCalc 的計算項將公式 =Oranges * .25 用于所有月份,那么可針對六月、七月和八月將該公式更改為 =Oranges *.5。
確定公式位于計算字段內,還是計算項內
-
單擊數據透視表。
此操作將顯示數據透視表工具,并添加“分析”和“設計”選項卡。
-
在“分析”選項卡的“計算”組中,單擊“字段、項目和??集”,然后單擊“列出公式??”。
-
在公式列表中,在“計算字段”或“計算項”下列出的公式中找到要更改的公式。 如果某個計算項有多個公式,那么在創建項目時輸入的默認公式在 B 列中具有計算項名稱。對于該計算項的其他公式,B 列包含計算項名稱和交叉項名稱。
例如,某個計算項的默認公式名為 MyItem,此項的另一個公式被標記為 MyItem 一月銷售額。 在數據??透視表中,可在“MyItem”行和“一月”列的“銷售額”單元格中找到此公式。
-
使用以下編輯方法之一繼續操作。
編輯計算字段公式
-
單擊數據透視表。
此操作將顯示數據透視表工具,并添加“分析”和“設計”選項卡。
-
在“分析”選項卡的“計算”組中,單擊“字段、項目和??集”,然后單擊“計算字段”。
-
在“名稱”框中,選擇要為其更改公式的計算字段。
-
在“公式”框中,編輯公式。
-
單擊“修改”。
編輯計算項的單個公式
-
單擊包含該計算項的字段。
-
在“分析”選項卡的“計算”組中,單擊“字段、項目和??集”,然后單擊“計算項”。
-
在“名稱”框中,選擇計算項。
-
在“公式”框中,編輯公式。
-
單擊“修改”。
編輯計算項特定單元格的單個公式
-
單擊要更改其公式的單元格。
要更改多個單元格的公式,請按住 Ctrl,然后單擊其他單元格。
-
在編輯欄中,鍵入對公式的更改。
提示:?如果具有多個計算項或公式,可調整計算順序。 有關詳細信息,請參閱調整多個計算項或公式的計算順序。
刪除數據透視表公式
注意:?刪除數據透視表公式為永久性操作。 如果不希望永久性刪除公式,可將字段或項拖出數據透視表??,以將其隱藏。
-
確定公式位于計算字段內,還是計算項內。
計算字段顯示在數據透視表字段列表中。 計算項顯示為其他字段內的項。
-
執行下列操作之一:
-
要刪除計算字段,請單擊數據透視表??中的任意位置。
-
要刪除計算項,請在數據透視表??中單擊包含要刪除的項的字段。
此操作將顯示數據透視表工具,并添加“分析”和“設計”選項卡。
-
-
在“分析”選項卡的“計算”組中,單擊“字段、項目和??集”,然后單擊“計算字段”或“計算項”。
-
在“名稱”框中,選擇要刪除的字段或項。
-
單擊“刪除”。
查看數據透視表??中使用的所有公式
要顯示當前數據透視表??中使用的所有公式列表,請執行以下操作:
-
單擊數據透視表。
-
在“選項”選項卡的“工具”組中,單擊“公式”,然后單擊“列出公式??”。
編輯數據透視表公式
-
確定公式位于計算字段內,還是計算項內。 如果公式位于計算項內,請確定該公式是否是計算項的唯一公式,操作方法如下:
-
單擊數據透視表。
-
在“選項”選項卡的“工具”組中,單擊“公式”,然后單擊“列出公式??”。
-
在公式列表中,在“計算字段”或“計算項”下列出的公式中找到要更改的公式。
如果某個計算項有多個公式,那么在創建項目時輸入的默認公式在 B 列中具有計算項名稱。對于該計算項的其他公式,B 列包含計算項名稱和交叉項名稱。
例如,某個計算項的默認公式名為 MyItem,此項的另一個公式被標記為 MyItem 一月銷售額。 在數據??透視表中,可在“MyItem”行和“一月”列的“銷售額”單元格中找到此公式。
-
-
執行下列操作之一:
編輯計算字段公式????
-
單擊數據透視表。
-
在“選項”選項卡的“工具”組中,單擊“公式”,然后單擊“計算字段??”。
-
在“名稱”框中,選擇要為其更改公式的計算字段。
-
在“公式”框中,編輯公式。
-
單擊“修改”。
編輯計算項的單個公式????
-
單擊包含該計算項的字段。
-
在“選項”選項卡的“工具”組中,單擊“公式”,然后單擊“計算項??”。
-
在“名稱”框中,選擇計算項。
-
在“公式”框中,編輯公式。
-
單擊“修改”。
編輯計算項特定單元格的單個公式????
例如,如果名為 OrangeCalc 的計算項將公式 =Oranges * .25 用于所有月份,那么可針對六月、七月和八月將該公式更改為 =Oranges *.5。
-
單擊要更改其公式的單元格。
要更改多個單元格的公式,請按住 Ctrl,然后單擊其他單元格。
-
在編輯欄中,鍵入對公式的更改。
-
-
如果具有多個計算項或公式,可通過執行以下操作來調整計算順序:
-
單擊數據透視表。
-
在“選項”選項卡的“工具”組中,單擊“公式”,然后單擊“求解次序??”。
-
單擊公式,然后單擊“上移”或“下移”。
-
繼續操作,直到公式按所需計算順序排列。
-
刪除數據透視表公式
提示:?如果不希望永久性刪除公式,可隱藏字段或項。 要隱藏字段,可將其拖出報表。
-
確定公式位于計算字段內,還是計算項內。
計算字段顯示在數據透視表字段列表中。 計算項顯示為其他字段內的項。
-
執行下列操作之一:
刪除計算字段????
-
單擊數據透視表。
-
在“選項”選項卡的“工具”組中,單擊“公式”,然后單擊“計算字段??”。
-
在“名稱”框中,選擇要刪除的字段。
-
單擊“刪除”。
刪除計算項????
-
單擊包含要刪除的項的字段。
-
在“選項”選項卡的“工具”組中,單擊“公式”,然后單擊“計算項??”。
-
在“名稱”框中,選擇要刪除的項。
-
單擊“刪除”。
-
如要在 Excel 網頁版 的數據透視表中匯總值,您可以使用 Sum、Count 和 Average 等匯總函數。 默認情況下,SUM 函數用于值字段中的數值,但下面介紹了如何選擇其他匯總函數:
-
右鍵單擊數據透視表中的任意位置,然后單擊“顯示字段列表”。
-
在“數據透視表字段”列表的“值”中,單擊值字段旁邊的箭頭。
-
單擊“值字段設置”。
-
選擇所需的匯總函數,然后單擊“確定”。
注意:?匯總函數在基于聯機分析處理 (OLAP) 源數據的數據透視表中不可用。
使用此匯總函數
若要計算
Sum
對數值求和。 默認情況下對具有數值的值字段使用。
Count
非空值的數目。 Count 匯總函數的作用與 COUNTA 函數相同。 默認情況下對具有非數值或空值的值字段使用 Count。
Average
值的平均值。
Max
最大值。
Min
最小值。
Product
值的乘積。
Count Numbers
包含數字的值個數(與 Count 不一樣,它包括不能為空的值)。
StDev
估算總體的標準偏差,其中樣本是整個總體計算的子集。
StDevp
總體的標準偏差,其中總體是要匯總的所有數據。
Var
估算總體的方差,其中樣本是整個總體計算的子集。
Varp
總體的方差,其中總體是要匯總的所有數據。
需要更多幫助嗎?
可隨時在 Excel 技術社區中咨詢專家,在解答社區獲得支持,或在 Excel User Voice 上建議新功能或功能改進。