KutoolsforOffice— 1 つのソリューション、5 つの強力なツール。少ない労力で大きな成果。

Excel のピボットテーブルに、総計または小計に対するパーセンテージ列を追加するにはどうすればよいですか?

著者ケリー変更日

Excel で大規模なデータセットを扱い、ピボットテーブルを使って分析する際、ツールが数値データを集計した総計列や総計行を自動的に生成するのは一般的です。しかし、業績評価や売上比較など多くの実務シーンでは、単なる合計値だけでなく、各項目が全体の総計またはサブグループの小計に対してどの程度の割合(パーセンテージ)を占めているかを把握する必要があります。こうしたパーセンテージを各値の横に直接表示することで、主要な貢献要素を素早く特定したり、トレンドを的確に読み取ったり、インサイトをより効果的に伝えることが可能になります。本ガイドでは、Excel でのデータ分析およびレポート作成をさらに効率化するため、ピボットテーブルに「全体の総計」または「サブグループの小計」に対する各値のパーセンテージを計算する追加列を、段階的に設定する方法を解説します。


Excel の PivotTable に総計または小計に対するパーセンテージ列を追加する

各項目が全体の合計またはデータ内のサブグループに対してどの程度の割合を占めるかを示すパーセンテージを表示するには、Excel のピボットテーブルにパーセンテージ計算列を追加することで、さらに強化できます。この手法は、生の数値を超えてデータを比較したり、要約統計を効果的に提示したい場合に特に有効です。以下に、この機能を設定するための詳細な手順と、各ステップにおける実践的なヒントおよび留意事項をご紹介します。

1。まず、分析したいデータ範囲をピボットテーブル内で選択します。次に、Excel のリボンから挿入ピボットテーブルをクリックすると、分析用のピボットテーブルが作成されます。正確な計算結果を得るには、最初に適切なソース範囲を選択することが不可欠です。選択範囲が関連するすべてのデータを含み、空白の行や列が含まれていないことを今一度ご確認ください。

2。表示されるピボットテーブルの作成ダイアログボックスで、ピボットテーブルを新規ワークシートに配置するか、既存のワークシートに配置するかを選択します。新規ワークシートを選ぶと、通常、表が見やすくなり、元のデータもそのまま保持されます。設定後は、OKボタンをクリックして次に進みます。
ピボットテーブルの作成ダイアログボックスでオプションを設定

3ピボットテーブルフィールドペインで、店舗フィールドと商品フィールドをエリアにドラッグします。次に、売上フィールドをエリアに2 回ドラッグします。これにより、結果のテーブルに元の売上値とパーセンテージ計算の両方が並んで表示されます。パーセンテージ列のみを表示したい場合は、後で元の値フィールドを削除または非表示にできます。
アイテムを値フィールドにドラッグ

4。下部のエリアで、2 つ目の売上フィールド(通常は「売上の合計2」と表示されます)の横にあるドロップダウン矢印をクリックし、コンテキストメニューから値のフィールドの設定方法を選択してください。すると、そのフィールドのデータを集計・表示する方法を設定できるダイアログボックスが開きます。
ドロップダウンリストから「値のフィールドの設定」を選択

5値のフィールドの設定方法ダイアログボックスで、値を表示の計算方法タブに移動します。値の表示方法ドロップダウンメニューから全体の合計に対する割合を選択すると、各値が全体合計に対する割合として自動的に計算されます。よりわかりやすくするため、ユーザー設定名フィールドに「総売上に対する割合」などの明確なラベルを入力して、解釈をスムーズにしましょう。設定を完了するには、OKをクリックします。
値のフィールドの設定ダイアログボックスでオプションを設定

注記:各値を全体合計ではなく親の小計(例:店舗ごとのカテゴリ合計)に対する割合として表示したい場合は、値を表示の計算方法ドロップダウンメニューから親の行の合計に対する割合を選択してください。このオプションは、店舗配下にカテゴリがグループ化されたデータセットで特に有用で、各カテゴリがその親の合計にどれだけ貢献しているかを分析できます。

ピボットテーブルに戻ると、元の値の横に「全体の合計に対する割合」列が追加されていることが確認できます。これにより、どの項目やカテゴリが全体の結果に最も大きく貢献しているかを即座に比較・把握できるようになります。
ピボットテーブルに総計列のパーセントが表示される

注記:ステップ5 で親の行の合計に対する割合を選択すると、各項目がそれぞれの小計(例:店舗内の各商品のシェア)に対する割合を反映し、データをより細かく分析できます。
小計列のパーセントを取得

💡 ヒントと留意事項:

  • 元のデータにフィルターや空白が含まれている場合は、パーセンテージを設定した後にピボットテーブルの正確性を改めてご確認ください。
  • 書式設定によっては、数値が既定で小数として表示されることがあります。パーセンテージ列を右クリックし、数値の書式設定を選択して、パーセンテージ形式を適用してください。
  • Excel の一部のバージョンでは、条件名やインターフェースが若干異なる場合があります。画面が完全に一致しない場合は、一般的な手順にご注目ください。
  • 「値を表示の計算方法」オプションがグレーアウトしている場合は、数値フィールドがエリアに配置されており、ピボットテーブルが選択されていることをご確認ください。

この方法でパーセンテージ列を追加すれば、ダッシュボードの作成、迅速なパフォーマンス分析、プレゼンテーションや経営報告向けの詳細データの要約がよりスムーズになります。ただし、条件付き書式の適用やさらに高度な計算など、さらなるカスタマイズが必要な場合は、計算フィールドや補助的なExcel 数式を活用して柔軟性を高めることをご検討ください。

標準のピボットテーブルオプション以外の方法を試したい場合や、特別なパーセンテージ計算が必要な場合は、Excel 数式を使ってレポートを補完したり、シンプルな VBA でワークフローを自動化したりするのがおすすめです。これらの手法は、内蔵の「値の表示形式」設定が特殊な要件を満たせないときに特に効果的です。



PivotTable の外部でExcel 数式を使用して総計に対するパーセンテージを計算する

場合によっては、ピボットテーブルのすぐ隣に全体合計に対するパーセンテージを直接表示したい、あるいは内蔵の「値の表示方法」機能よりもさらに柔軟な書式設定が必要になることがあります。そんなときは、ピボットテーブルの外側でExcel 数式を使って計算を行うことができます。

1。PivotTable 内の数値列(例:売上値がセル範囲 D5:D10 にあると仮定)を特定します。次に、全体合計が含まれるセル(例:D11)を特定します。あるいは、より確実に合計を参照するには、GETPIVOTDATA 関数を使用することもできます。

2。隣接する列(例:セル E5)に、各項目の全体合計に対するパーセンテージを計算する次の数式を入力してください:

=D5/$D$11

あるいは、より堅牢な以下のバージョンをGETPIVOTDATA 関数とともに使用します(合計値フィールドが「売上」で、PivotTable がセル D4 から始まると仮定):

=D5/GETPIVOTDATA("Sales", $D$4)

これらの数式は、各行の値を全体の合計で割って相対的なパーキャンテージを算出します。実際のピボットテーブルのレイアウトに合わせて、条件名やセル参照を適宜調整してください。

3。数式を値の範囲全体にコピーします。最良の結果を得るには、新しい列をパーセンテージ形式に設定してください。範囲を選択し、右クリックしてセルの書式設定を選択し、パーセンテージを選びます。

実践的なヒント:この方法では、追加条件の設定や条件付き書式を使った色分けなど、さらに高度なカスタマイズが可能です。ただし、PivotTable を更新した際、特に項目や行が動的に変化する場合には、数式の参照が正確かどうかを再度確認してください。こうしたケースでは、GETPIVOTDATAを使用することで、参照の破損を防ぐことができます。


VBA コードを使用して PivotTable に総計に対するパーセンテージを追加する

複数のピボットテーブルをレポート用に作成するなど、全体合計に対するパーセンテージ測定値の追加プロセスを自動化したい方には、VBA がカスタマイズ可能なソリューションを提供します。この実践的なアプローチは、繰り返し発生するタスクやテンプレート作成に最適です。以下の手順に従ってください:

1開発者ツールVisual Basicをクリックして、Microsoft Visual Basic for Applicationsウィンドウを開きます。VBA ウィンドウで、挿入標準モジュールをクリックし、以下のコードをモジュールにコピー&ペーストしてください。

Sub AddPercentOfGrandTotal()
    Dim pt As PivotTable
    Dim pf As PivotField
    Dim pfNew As PivotField
    Dim xTitleId As String
    xTitleId = "KutoolsforExcel"
    
    If ActiveSheet.PivotTables.Count = 0 Then
        MsgBox "No PivotTable found on this sheet.", vbExclamation, xTitleId
        Exit Sub
    End If
    
    Set pt = ActiveSheet.PivotTables(1)
    
    If pt.DataFields.Count = 0 Then
        MsgBox "No data field found in the PivotTable.", vbExclamation, xTitleId
        Exit Sub
    End If
    
    Set pf = pt.DataFields(1)
    
    ' Check if the field already exists
    Dim fldName As String
    fldName = "Percent of Grand Total"
    On Error Resume Next
    Set pfNew = pt.PivotFields(fldName)
    On Error GoTo 0
    If Not pfNew Is Nothing Then
        MsgBox "Field '" & fldName & "' already exists.", vbInformation, xTitleId
        Exit Sub
    End If

    ' Add new field and apply percentage calculation
    Set pfNew = pt.AddDataField(pt.PivotFields(pf.SourceName), fldName, xlSum)
    With pfNew
        .Calculation = xlPercentOfTotal
        .NumberFormat = "0.00%"
    End With
End Sub

2。コードを挿入したら、実行ボタン「実行」ボタンをクリックするか、F5キーを押してマクロを実行してください。すると、現在のワークシート上の既存の PivotTable に、全体合計に対するパーセンテージを示す新しいフィールドが自動的に追加されます。

メモとトラブルシューティング:このコードは、ピボットテーブルにすでに少なくとも1 つのデータフィールドが含まれていることを前提としています。特定の名前のピボットテーブルを対象にする場合は、ActiveSheet.PivotTables(1)を次のように置き換えてください:ActiveSheet.PivotTables("PivotTable1")。新しいマクロを実行する前に、必ずワークブックを保存し、マクロが有効になっていることをご確認ください(コードが実行されない場合は、信頼センターの設定をご確認ください)。


関連記事:

最高の Office 業務効率化ツール

🤖KUTOOLS AI アシスタント:次に基づいてデータ分析を革新します:インテリジェント実行     コード生成  カスタム数式作成    データ分析とチャート生成  拡張機能呼び出し
人気の機能検索・ハイライト、または重複をマーキング     空白行を削除する     データを失うことなく列の結合またはセルを     数式を使用しない四捨五入...
スーパー LOOKUP複数条件 VLookup    複数値 VLookup     複数シート間 VLookup      ファジーマッチ....
高度なドロップダウンリストドロップダウンリストをすばやく作成     連動型ドロップダウンリスト     複数選択可能なドロップダウンリスト....
列マネージャー指定した数の列を追加列の移動非表示列の表示状態を切り替え範囲および列の比較...
注目の機能グリッドフォーカス     デザインビュー   強化された数式バー    ワークブックとシートマネージャー     リソースライブラリ(オートテキスト)  日付ピッカー     ワークシートの統合    暗号化/セルの復号化    リストからメール送信     スーパーフィルター      特殊フィルタ(太字のフォントを持つセルをフィルタリング/斜体/取り消し線。。。) 。。。
トップ15 ツールセット12 テキストツールテキストの追加特定の文字を削除、...)   50+チャートタイプガントチャート、...)   40+実用的関数誕生日に基づいて年齢を計算します、...)   19 挿入ツールQR コードを挿入パスから画像を挿入、...)   12 変換ツール単語に変換する為替レートの変換、...)   7 結合と分割ツール高度な行のマージセルの分割、...)さらに多数
Kutools はお好みの言語でご利用いただけます。英語、スペイン語、ドイツ語、フランス語、中国語、および40+の他の言語をサポートしています!

Kutools for Excel でExcel スキルを強化し、これまでにない効率を体験しましょう。Kutools for Excel は、生産性を高め、時間を大幅に節約できる高度な機能を300 以上提供します。最も必要な機能を今すぐ入手するにはこちらをクリック。。。


Office Tab は Office にタブインターフェースをもたらし、作業を大幅に簡単にします

  • Word、Excel、PowerPoint でタブを使った編集と閲覧を有効にします。Publisher、Access、Visio、Project でもご利用いただけます。
  • 複数のドキュメントを、新しいウィンドウではなく、同じウィンドウ内の新しいタブで開いたり作成したりできます。
  • 日々の生産性を50%も向上させ、毎日数百回ものマウスクリックを削減します!

すべてのKutools アドインが、たった1 つのインストーラーで完結。

Kutools for Officeスイートには、Excel ・Word ・Outlook ・PowerPoint 用のアドインと Office Tab Pro が含まれており、複数の Office アプリを横断して作業するチームに最適です。

ExcelWordOutlookTabsPowerPoint
  • オールインワンスイート— Excel、Word、Outlook、PowerPoint 用アドイン+Office Tab Pro
  • インストーラー1 つ、ライセンス1 つ— 数分でセットアップ可能(MSI 対応)
  • 連携してさらにパワーアップ— Office アプリ全体で生産性が向上
  • 30 日間のフル機能トライアル— 登録不要、クレジットカード不要
  • 最高のお得感— 個別アドイン購入よりお得