Excel 樞紐分析(Pivot Table)完整教程#
樞紐分析表(Pivot Table)是 Excel 最強大的資料彙總與分析工具之一。它能讓你在數秒內將大量資料轉化為結構化的報表,快速發現趨勢、對比,甚至生成圖表。以下將從「為什麼要用樞紐分析表」說起,給出三種不同的實作流程,並整理常見問題。
原因分析#
| 為什麼需要樞紐分析表 | 典型場景 |
|---|---|
| 快速聚合 | 計算總和、平均值、最大/最小值、計數等 |
| 動態重組 | 只需拖拉字段即可改變行/列結構,切換視角 |
| 資料可視化 | 直接生成樞紐圖表,呈現趨勢 |
| 多維度切片 | 使用切片器(Slicer)、時間線(Timeline)進行交互過濾 |
| 自動更新 | 只要資料源變動,刷新一次即可更新整個報表 |
總結:當你需要從千行百列的原始資料中提取關鍵指標、製作多角度報表,樞紐分析表是最適合的工具。
方案一:使用 Excel 標準功能(UI 方式)#
適用版本:Excel 2010 以上(含 Office 365、Excel 2021 等)。
步驟 1:準備資料#
- 確保資料表格格式正確:第一行作為欄位標題,無空白行/列。
- 如有需要,將資料轉成表格(
Ctrl+T),能自動擴充範圍。
步驟 2:插入樞紐表#
- 選中資料範圍(或點擊表格中的任意單元格)。
- 轉到 插入 → 樞紐分析表。
- 在彈出的對話框中:
- 選擇資料來源:若已轉成表格,直接顯示表格名稱;否則輸入範圍。
- 選擇放置位置:新工作表或現有工作表。
- 點擊 確定。
步驟 3:設計樞紐表#
- 字段列表(右側)出現所有列名稱。
- 拖曳字段到:
- 行:行標籤。
- 列:列標籤。
- 值:聚合欄位(默認為「求和」)。
- 篩選:整體篩選器。
- 如需更改聚合方式,點擊值字段 → 值字段設定 → 選擇「平均值」/「最大值」等。
- 右鍵點擊樞紐表 → 刷新 以同步資料源。
步驟 4:美化 & 互動#
- 排序/篩選:點擊行/列標籤旁的下拉箭頭。
- 切片器:選中樞紐表 → 分析 → 插入切片器 → 選擇字段。
- 時間線:若有日期字段,選擇 插入時間線。
- 樞紐圖表:選中樞紐表 → 分析 → 樞紐圖表。
方案二:使用 Power Pivot + Power Query(進階大數據)#
適用版本:Excel 2016+(含 Office 365)且已安裝 Power Pivot。
優勢:支援更大資料量、複雜關聯、DAX 計算。
步驟 1:載入資料#
資料→取得資料→ 選擇來源(Excel、CSV、SQL、Web 等)。- 在 Power Query 編輯器中,進行資料清洗(刪除重複、轉換類型等)。
- 點擊 關閉並載入 → 只創建連結,不載入工作表。
步驟 2:建立資料模型#
資料→管理資料模型→ 進入 Power Pivot 視窗。- 在 Power Pivot 中:
- 關聯:若有多個表,建立關聯。
- 計算欄/度量值:使用 DAX 公式創建自訂計算。
步驟 3:創建樞紐表#
- 在工作表中插入 樞紐分析表,選擇 資料模型 作為來源。
- 與方案一相同,拖曳字段設計報表。
- 你也可以在 Power Pivot 中直接使用 視覺化工具(如 Power Pivot 圖表、Power BI)進行更進階的可視化。
方案三:使用 VBA 自動化#
適用場景:需要批量生成多個樞紐表、定期更新或自動化報表。
步驟 1:撰寫 VBA 程式#
Sub CreatePivot()
Dim wsData As Worksheet, wsPivot As Worksheet
Dim pc As PivotCache, pt As PivotTable
Dim rng As Range
Set wsData = ThisWorkbook.Sheets("SalesData")
Set wsPivot = ThisWorkbook.Sheets.Add
wsPivot.Name = "PivotReport"
' 定義資料範圍
Set rng = wsData.Range("A1").CurrentRegion
' 建立 PivotCache
Set pc = ThisWorkbook.PivotCaches.Create( _
SourceType:=xlDatabase, _
SourceData:=rng.Address(ReferenceStyle:=xlR1C1, _
External:=False))
' 建立 PivotTable
Set pt = pc.CreatePivotTable( _
TableDestination:=wsPivot.Range("A3"), _
TableName:="SalesPivot")
' 設定行列值
With pt
.PivotFields("Region").Orientation = xlRowField
.PivotFields("Product").Orientation = xlColumnField
.AddDataField .PivotFields("Amount"), "Total Sales", xlSum
End With
End Sub步驟 2:執行#
- 打開 VBA 編輯器 (
Alt+F11) → 插入模組 → 粘貼程式碼。 - 執行
CreatePivot。
步驟 3:進一步優化#
- 參數化:把資料表名稱、字段列表、聚合方式做成變數,方便重用。
- 自動刷新:在工作簿開啟時自動刷新樞紐表 (
Workbook_Open)。
常見問題解答 (FAQ)#
| 問題 | 解答 |
|---|---|
| Q1:樞紐表顯示「#REF!」或「#VALUE!」? | 檢查資料來源是否包含空值或非數值。若是文字列,可使用「資料」→「資料驗證」或「IFERROR」處理。 |
| Q2:如何將樞紐表與其他工作表的表格連結,資料更新後自動刷新? | 在樞紐表上點 分析 → 刷新 或設定 工作簿計算設置 → 自動計算。若使用 Power Pivot,需在 Power Query 中設為「只創建連結」並定期刷新。 |
| Q3:為何樞紐表只顯示部分欄位? | 可能是資料表中有重複標題或空列。請先將資料轉成表格 (Ctrl+T),確保每列都有標題。 |
| Q4:如何在樞紐表中添加自訂計算欄位? | 選中樞紐表 → 分析 → 字段、項目和集 → 計算欄位,輸入公式。 |
| Q5:樞紐表的切片器不工作? | 確認切片器與樞紐表屬於同一資料模型;若多個樞紐表使用同一資料源,切片器會共用。 |
| Q6:如何把樞紐表轉成靜態表格? | 選中樞紐表 → 複製 → 右鍵貼上 → 粘貼特殊 → 值。 |
| Q7:資料源很大,樞紐表生成慢。 | 可使用 Power Pivot 或將資料分成多個表再做關聯;亦可將資料先匯出到 Access 或 Power BI。 |
小結:樞紐分析表是 Excel 中最具彈性與效能的資料分析工具。從簡易 UI 方式到 Power Pivot、VBA 自動化,每一種方法都可根據需求選擇。掌握上述步驟,你就能快速把海量資料轉化為洞察力十足的報表。祝你分析順利 🚀!