深入掌握Pivot函數的用法

一、Pivot函數簡介

Pivot函數是Excel中的高級函數之一,它可以把一列數據格式化為多列。在數據透視表中,我們經常會使用到pivot函數。pivot函數允許將一個表格中多列的數據轉換成新的表格,表格行和列的數據、格式可以根據定義的規則產生並進行更改。

以下是Pivot函數語法:

PivotTable_Field.Name

其中,PivotTable_Field代表透視表中要選取的字段,Name代表數據透視表中的任何數據項,例如Sum、Count等等。

二、Pivot函數基本用法

使用pivot函數,第一步是將Excel數據轉換為表格,然後在表格中使用pivot表功能。以下是pivot數據的表格示例:

Student  Course  Grade  TotalGrade
Tom       Math     80      230
Tom      English   85      230
Tom     Geography  65      230
Lucy     Biology   90      275
Lucy      Music    85      275
Lucy     Science   100     275
...

我們希望將四個項目按照學生分組,以便更好地了解每個學生的成績情況。這時我們就可以使用pivot函數。以下是示例代碼:

Sub TestPivotTable()
    '選中數據
    Range("A1:D7").Select
    '插入透視表,位置設置為單元格F3
    '我們選取了數組A1:D7的範圍
    ActiveWorkbook.PivotTableWizard TableDestination:=Range("F3"), _
        TableName:="PivotTable1", _
        RowGrand:=True, _
        ColumnGrand:=True, _
        BaseField:="Student", _
        BaseItem:="All"
End Sub

可以看到,我們使用了PivotTableWizard函數,它接受以下參數:

  • TableDestination: 定義透視表的位置。
  • TableName: 定義透視表的名稱。
  • ColumnGrand: 是否顯示列總計。
  • RowGrand: 是否顯示行總計。
  • BaseField: 定義透視表顯示的字段。
  • BaseItem: 定義透視表中表格的內容, All表示所有項目。

三、Pivot函數高級用法——自定義計算項

對於一些需要複雜計算的情況,我們可以使用pivot函數的高級用法自定義計算項。以下是一個示例:

Sub TestPivotTable2()
    Dim PT As PivotTable
    Dim PF As PivotField

    '選中多個單元格
    Range("A1:C7").Select
    '創建透視表,並設置相應參數
    Set PT = ActiveSheet.PivotTableWizard(TableDestination:=Range("H1"), _
    TableName:="PivotTable2", _
    SourceType:=xlDatabase, _
    SourceData:=Range("A1:C7"), _
    RowGrand:=True, _
    ColumnGrand:=True, _
    BaseField:="Student", _
    BaseItem:="All")
    '設置分析字段,允許添加新字段
    Set PF = PT.PivotFields("Grade")
    PF.Orientation = xlDataField
    PF.Function = xlSum
    '添加新字段
    PT.AddDataField PT.PivotFields("Grade"), "Average", xlAverage
End Sub

在此示例中,我們首先選擇了A1到C7的範圍,然後通過PivotTableWizard函數創建了一個透視表,透視表名稱為PivotTable2。接下來,我們設置了分析字段為Grade,使用Sum函數計算數據,並添加了一個新的字段,該字段使用Average函數計算數據。

四、Pivot函數高級用法——自定義換行運算符

使用自定義運算符,我們可以更加靈活地控制透視表中的數據。以下是一個實例:

Sub TestPivotTable3()
    Dim PT As PivotTable
    Dim PF As PivotField

    '選中多個單元格
    Range("A1:C7").Select
    '創建透視表,並設置相應參數
    Set PT = ActiveSheet.PivotTableWizard(TableDestination:=Range("H1"), _
    TableName:="PivotTable3", _
    SourceType:=xlDatabase, _
    SourceData:=Range("A1:C7"), _
    RowGrand:=True, _
    ColumnGrand:=True, _
    BaseField:="Student", _
    BaseItem:="All")
    '設置分析字段,允許添加新字段
    Set PF = PT.PivotFields("Course")
    '循環遍歷值,並添加新字段到透視表中
    For Each sItem In PF.PivotItems
        PT.AddDataField PT.PivotFields("Grade"), sItem.Value & "_Avg", xlAverage
    Next sItem
    '設置換行運算符,依賴於重音符號
    PT.DataPivotField.PivotFilters(1).Value1 = "~"
End Sub

在此示例中,我們仍然選擇了A1到C7的範圍。我們首先對Course字段進行循環處理,並添加每個Course值的平均值,然後使用重音符號作為分隔符,將平均值分隔開。接下來,我們將設置DataPivotField.PivotFilters(1).Value1屬性,將符號~用作換行符。

五、Pivot函數高級用法——自定義樣式

最後,我們可以使用Pivot函數的高級用法自定義透視表的樣式,使其看起來更美觀。以下是示例代碼:

Sub TestPivotTable4()
    Dim PT As PivotTable
    Dim PF As PivotField
    Dim pi As PivotItem

    '選中多個單元格
    Range("A1:D7").Select
    '創建透視表,並設置相應參數
    Set PT = ActiveSheet.PivotTableWizard(TableDestination:=Range("H1"), _
    TableName:="PivotTable4", _
    RowGrand:=True, _
    ColumnGrand:=True, _
    BaseField:="Student", _
    BaseItem:="All")
    '設置分析字段為TotalGrade
    PT.AddDataField PT.PivotFields("TotalGrade"), "Total Grade", xlSum
    '設置樣式
    PT.TableStyle2 = "PivotStyleMedium2"
End Sub

在此示例中,我們首先選擇了A1到D7的單元格。然後我們開始創建透視表,在透視表中使用了總成績字段,總成績字段使用Sum函數計算,然後我們使用「PivotStyleMedium2」樣式設置了透視表的樣式。

總結

通過上述的步驟和代碼示例,我們可以看到Pivot函數在透視表中的強大功能,它可以幫助我們更好地組織和過濾數據。

原創文章,作者:AZFV,如若轉載,請註明出處:https://www.506064.com/zh-hk/n/136490.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
AZFV的頭像AZFV
上一篇 2024-10-04 00:16
下一篇 2024-10-04 00:16

相關推薦

  • Python中引入上一級目錄中函數

    Python中經常需要調用其他文件夾中的模塊或函數,其中一個常見的操作是引入上一級目錄中的函數。在此,我們將從多個角度詳細解釋如何在Python中引入上一級目錄的函數。 一、加入環…

    編程 2025-04-29
  • Python中capitalize函數的使用

    在Python的字符串操作中,capitalize函數常常被用到,這個函數可以使字符串中的第一個單詞首字母大寫,其餘字母小寫。在本文中,我們將從以下幾個方面對capitalize函…

    編程 2025-04-29
  • Python中set函數的作用

    Python中set函數是一個有用的數據類型,可以被用於許多編程場景中。在這篇文章中,我們將學習Python中set函數的多個方面,從而深入了解這個函數在Python中的用途。 一…

    編程 2025-04-29
  • 三角函數用英語怎麼說

    三角函數,即三角比函數,是指在一個銳角三角形中某一角的對邊、鄰邊之比。在數學中,三角函數包括正弦、餘弦、正切等,它們在數學、物理、工程和計算機等領域都得到了廣泛的應用。 一、正弦函…

    編程 2025-04-29
  • 單片機打印函數

    單片機打印是指通過串口或並口將一些數據打印到終端設備上。在單片機應用中,打印非常重要。正確的打印數據可以讓我們知道單片機運行的狀態,方便我們進行調試;錯誤的打印數據可以幫助我們快速…

    編程 2025-04-29
  • Python3定義函數參數類型

    Python是一門動態類型語言,不需要在定義變量時顯示的指定變量類型,但是Python3中提供了函數參數類型的聲明功能,在函數定義時明確定義參數類型。在函數的形參後面加上冒號(:)…

    編程 2025-04-29
  • Python定義函數判斷奇偶數

    本文將從多個方面詳細闡述Python定義函數判斷奇偶數的方法,並提供完整的代碼示例。 一、初步了解Python函數 在介紹Python如何定義函數判斷奇偶數之前,我們先來了解一下P…

    編程 2025-04-29
  • Python實現計算階乘的函數

    本文將介紹如何使用Python定義函數fact(n),計算n的階乘。 一、什麼是階乘 階乘指從1乘到指定數之間所有整數的乘積。如:5! = 5 * 4 * 3 * 2 * 1 = …

    編程 2025-04-29
  • Python函數名稱相同參數不同:多態

    Python是一門面向對象的編程語言,它強烈支持多態性 一、什麼是多態多態是面向對象三大特性中的一種,它指的是:相同的函數名稱可以有不同的實現方式。也就是說,不同的對象調用同名方法…

    編程 2025-04-29
  • 分段函數Python

    本文將從以下幾個方面詳細闡述Python中的分段函數,包括函數基本定義、調用示例、圖像繪製、函數優化和應用實例。 一、函數基本定義 分段函數又稱為條件函數,指一條直線段或曲線段,由…

    編程 2025-04-29

發表回復

登錄後才能評論