メインコンテンツへスキップ

Kutools for Office — 1つのスイート、5つのツールで、もっと多くのことを成し遂げましょう。

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

Author Kelly Last modified

Excelで大規模なデータセットを操作し、それをピボットテーブルを通じて分析する場合、ツールが自動的に数値データを集計するグランド合計列や行を生成することが一般的です。しかし、業績評価や売上比較などの多くの実用的な状況では、単に合計を見るだけでなく、各項目が総計またはサブグループの小計に対して占める割合(パーセンテージ)も知りたい場合があります。これらのパーセンテージを値の横に直接表示することで、主要な貢献要素を迅速に特定し、トレンドを把握し、より効果的に洞察を伝えられるようになります。このガイドでは、ピボットテーブルに全体の総計またはサブグループ小計に対するパーセンテージを計算する追加列を追加する方法をステップバイステップで説明します。これにより、Excelでのデータ分析とレポート作成タスクが効率化されます。


Excelピボットテーブルに総計/小計のパーセンテージ列を追加する

各項目が全体の合計またはデータ内のサブグループに対してどの程度寄与しているかのパーセンテージを表示するには、ピボットテーブルにパーセンテージ計算列を追加することでExcelピボットテーブルを強化できます。このアプローチは、特に生の数値を超えてデータ比較を行ったり、要約統計を提示したい場合に有用です。以下の詳細な手順では、この機能を設定する方法について説明するとともに、各段階で実用的なヒントや考慮事項を提供します。

1. まず、ピボットテーブルで分析したいデータ範囲を選択します。次に、Excelリボンに移動し、「挿入」→「ピボットテーブル」をクリックします。これにより、分析のためのピボットテーブルの基礎が作られます。最初に適切なソース範囲を選択することで、計算が正確になることが保証されますので、空白の行や列がないことを確認してください。

2. ピボットテーブルの作成 ダイアログボックスが表示されたら、新しいワークシートまたは既存のワークシートにピボットテーブルを配置するかを指定します。新しいワークシートを選択すると、テーブルが見やすくなり、元のデータがそのまま保持されることが多いです。設定後、「OK」ボタンをクリックして進みます。 OK ボタンを押して続行します。
set options in the Create PivotTable dialog box

3. ピボットテーブルフィールド ペインで、「ショップ」フィールドと「アイテム」フィールドを「行」エリアにドラッグします。次に、「売上」フィールドを「値」エリアに2回ドラッグします。こうすることで、結果として得られるテーブルで元の売上値とパーセンテージの計算を並べて表示することができます。パーセンテージ列のみを表示したい場合は、後で元の値フィールドを削除または非表示にすることができます。 ショップ フィールドと アイテム フィールドを エリアへドラッグします。次に 売上 フィールドを エリアへドラッグします。 2回これを行うことで、結果として得られるテーブルに元の売上値とパーセンテージの計算を並べて表示することができます。パーセンテージ列だけを表示したい場合は、後で元の値フィールドを削除または非表示にできます。
drag items into Value field

4. エリアの下にある、2番目の「売上」フィールド(通常は「売上の合計2」などと表示されます)の横にあるドロップダウン矢印をクリックします。「値フィールドの設定」を選択します。このステップで、フィールドのデータがテーブル内でどのように集計および表示されるかを定義するダイアログボックスが開きます。 売上 フィールド(通常は「売上の合計2」などと表示されます)の横にあるドロップダウン矢印をクリックします。コンテキストメニューから「値フィールドの設定」を選択します。このステップで、フィールドのデータがテーブル内でどのように集計および表示されるかを定義するダイアログボックスが開きます。 値フィールドの設定 コンテキストメニューから選択します。このステップでは、フィールドのデータがテーブル内でどのように要約され、表示されるかを定義するダイアログボックスが開きます。
select Value Field Settings from the drop-down list

5. 値フィールドの設定 ダイアログボックスで、「表示方法」タブに移動します。「表示方法」ドロップダウンメニューから「総計の%」を選択して、各値を総計に対する割合として計算します。必要に応じて、「カスタム名」フィールドに新しい列の明確で説明的な名前(例:"総売上のパーセンテージ")を入力して、解釈を容易にします。「OK」をクリックして変更を確定します。 表示方法 タブに移動します。 表示方法 ドロップダウンメニューから、「総計の%」を選択します。これにより、各値がグランドトータルに対する割合として計算されます。必要に応じて、「カスタム名」フィールドに新しい列の明確で分かりやすい名前(たとえば「総売上のパーセンテージ」など)を入力し、解釈を容易にします。変更を確定するには、「OK」をクリックします。 総計の% を選びます。これは、各値をグランドトータルに対する割合として計算します。必要であれば、新しい列のために明確でわかりやすい名前(例えば「総売上のパーセンテージ」など)を入力します。最終的に「OK」をクリックして変更を確定します。 カスタム名 フィールドに、たとえば「総売上のパーセンテージ」というように、解釈しやすい名称を入力し、解釈を容易にします。「OK」をクリックして変更を確定します。 OK.
set options in the Value Field Settings dialog box

注記: 各値が親小計(全体のグランドトータルではなく)の中で占めるパーセンテージを示したい場合は、「行の親合計の%」を「表示方法」ドロップダウンメニューから選択します。このオプションは、データセットがカテゴリごとにグルーピングされている場合(例えば、店舗ごとのカテゴリなど)に特に有用であり、カテゴリレベルの合計への貢献度を分析できます。

ピボットテーブルに戻ると、元の値の隣に「総計の%」列が追加されているのが確認できます。これにより、どの項目やカテゴリが全体の結果に最も大きく貢献しているのかを即座に比較・解釈できるようになります。
the percent of Grand Total column is in the pivot table

注記: ステップ5で 行の親合計の% を選んだ場合、パーセンテージはそれぞれの小計(例えば、店舗ごとの各商品のシェア)に対する各項目の貢献を反映し、データのより細かい視点を提供します。
get the percent of the Subtotal column

💡 ヒントと注意点:

  • 元のデータにフィルタや空白がある場合、パーセンテージ設定後にピボットテーブルの正確性を再確認してください。
  • 書式設定では、デフォルトで数値が小数として表示されることがあります。パーセンテージ列を右クリックし、「セルの書式設定」を選択して「パーセンテージ」形式を選んでください。
  • Excelのバージョンによっては、フィールド名やインターフェースが若干異なる場合があります。画面が完全に一致しない場合は、一般的な手順に集中してください。
  • 「表示方法」のオプションが灰色になっている場合は、数値フィールドが「値」エリアにあることと、ピボットテーブルが選択されていることを確認してください。

この方法でパーセンテージ列を追加すると、ダッシュボード、迅速なパフォーマンス分析、プレゼンテーションや管理レポート向けの詳細データの要約に役立ちます。ただし、条件付き書式や高度な計算などのさらなるカスタマイズが必要な場合は、計算フィールドや補足的なExcel数式を使用することをお勧めします。これにより、柔軟性が向上します。

標準のピボットテーブルオプション以外でカスタマイズされたパーセンテージ計算を実現する必要がある場合や別の方法に興味がある場合は、Excelの数式をレポートに補足したり、簡単なVBAでワークフローを自動化することを試みてください。これらの方法は、特にビルトインの「表示方法」設定が特別な要件を満たさない場合に、より多くの制御を提供します。



ピボットテーブル外でExcelの数式を使用して総計のパーセンテージを計算する

いくつかの状況では、ピボットテーブルのすぐ隣に総計のパーセンテージを表示したい場合や、組み込みの「表示方法」機能よりも多くの書式設定オプションが必要な場合があります。そのような場合には、ピボットテーブル外でExcelの数式を使用して計算を実行できます。

1. ピボットテーブル内の数値列(例えば、売上値がD5:D10のセル範囲にあるとします)を見つけます。次に、総計が含まれているセル(例えばD11)を特定します。あるいは、GETPIVOTDATA関数を使用して、総計をより信頼性高く参照することもできます。

2. 隣接する列(例えば、セルE5)に、次の数式を入力して、各項目の総計に対するパーセンテージを計算します:

=D5/$D$11

または、より堅牢なバージョンとしてGETPIVOTDATAを使用します(総計値フィールドが「売上」であり、ピボットテーブルがセルD4から始まると仮定します):

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

これらの数式は、各値を総計で割り、各行に対する相対的なパーセンテージを計算します。実際のピボットテーブルレイアウトに合わせて、フィールド名とセル参照を調整してください。

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

実践的なヒント: この方法は、さらなるカスタマイズ(条件付き書式による色付けなど)に柔軟性を提供します。ただし、ピボットテーブルが更新される際には、特に項目や行が動的に変わる場合、数式の参照が正確であることを再確認してください。このような場合、GETPIVOTDATAを使用することで、壊れた参照を防ぐのに役立ちます。


VBAコードを使用してピボットテーブルに総計のパーセンテージを追加する

複数のピボットテーブルを作成してレポートする際に、総計のパーセンテージ測定を自動的に追加する必要があるユーザーにとって、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. Run button “実行”ボタンをクリックするか、 F5 キーを押してマクロを実行します。マクロは現在のシートにある既存のピボットテーブルに、総計のパーセンテージを示す新しいフィールドを自動的に追加します。

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


関連記事:

最高のオフィス業務効率化ツール

🤖 Kutools AI Aide:データ分析を革新します。主な機能:Intelligent Executionコード生成カスタム数式の作成データの分析とグラフの生成Kutools Functionsの呼び出し……
人気の機能重複の検索・ハイライト・重複をマーキング空白行を削除データを失わずに列またはセルを統合丸める……
スーパーLOOKUP複数条件での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でタブによる編集・閲覧を実現
  • 新しいウィンドウを開かず、同じウィンドウの新しいタブで複数のドキュメントを開いたり作成できます。
  • 生産性が50%向上し、毎日のマウスクリック数を何百回も削減!

全てのKutoolsアドインを一つのインストーラーで

Kutools for Officeスイートは、Excel、Word、Outlook、PowerPoint用アドインとOffice Tab Proをまとめて提供。Officeアプリを横断して働くチームに最適です。

Excel Word Outlook Tabs PowerPoint
  • オールインワンスイート — Excel、Word、Outlook、PowerPoint用アドインとOffice Tab Proが含まれます
  • 1つのインストーラー・1つのライセンス —— 数分でセットアップ完了(MSI対応)
  • 一括管理でより効率的 —— Officeアプリ間で快適な生産性を発揮
  • 30日間フル機能お試し —— 登録やクレジットカード不要
  • コストパフォーマンス最適 —— 個別購入よりお得