Excelのピボットテーブルで「担当者ごとに、タイプ別・通信データ量別の契約件数を集計したい」とき、フィールドを配置すると「タイプ」が行側に表示され、「なぜ勝手に追加されたのだろう」と迷うことがあります。
この現象はExcelの不具合ではありません。「タイプ」フィールドをピボットテーブルの「行」エリアへ配置しているため、担当者の下位分類としてタイプが行に追加されているのが理由です。
ピボットテーブルでは、「行」「列」「値」「フィルター」のどこへフィールドを置くかによって、集計表だけでなくピボットグラフの軸や凡例も変わります。担当者・タイプ・通信データ量・契約件数の関係を整理すると、なぜその表示になるのか分かりやすくなります。
- 「行:担当者とタイプ」ならタイプが行に表示されるのが正常
- 複数のフィールドを「行」に置くと階層になる
- 「コンパクト形式」では担当者とタイプが同じ列に見えることがある
- 契約件数を集計するなら「値」エリアも必要
- 「通信データ量」を列に置く意味
- 契約件数なら「合計」ではなく「個数」になっているか確認する
- 積み上げ縦棒のピボットグラフではフィールド配置がグラフにも反映される
- 担当者だけを横軸にしたい場合はタイプの配置を見直す
- タイプと通信データ量の両方をグラフで表現したい場合
- ピボットテーブルの4つのエリアを理解すると迷いにくい
- 「契約1月」のシート名と1月だけの集計は別問題
- 元データは「1行1契約」にするとピボット集計しやすい
- フィールドが意図しない場所へ入ったときはドラッグして移動できる
- 目的別にフィールド配置を決める具体例
- 積み上げ縦棒グラフを作るときは「積み上げたい項目」を列へ置く
- まとめ|タイプが行に追加されるのは「行エリアへ配置しているから」
「行:担当者とタイプ」ならタイプが行に表示されるのが正常
ピボットテーブルのフィールド配置を「行:担当者、タイプ」とした場合、Excelは2つの項目を行方向の階層として扱います。
例えば元データに担当者が「佐藤」「鈴木」、タイプが「新規」「機種変更」などと入っている場合、「担当者」の下に「タイプ」を配置すると、概念的には次のように集計されます。
| 担当者 | タイプ | 契約件数 |
|---|---|---|
| 佐藤 | 新規 | 5 |
| 佐藤 | 機種変更 | 3 |
| 鈴木 | 新規 | 4 |
| 鈴木 | 機種変更 | 2 |
つまり、「担当者だけを行にしたのにExcelが勝手にタイプを追加した」のではなく、タイプを行エリアへ入れたことで、「担当者→タイプ」という2段階の分類が作成されたということです。
複数のフィールドを「行」に置くと階層になる
ピボットテーブルでは、行エリアに複数のフィールドを配置できます。上に置いたフィールドが大分類、その下に置いたフィールドが小分類になります。
例えば、行エリアを上から「担当者」「タイプ」の順にすると、「担当者ごとの中を、さらにタイプ別に分ける」という意味になります。
逆に順序を「タイプ」「担当者」にすれば、「タイプごとの中を、さらに担当者別に分ける」という集計になります。同じ2つのフィールドでも、並べる順序によって表の見え方が変わります。
ピボットテーブルの「行」は単に縦方向へ項目を表示する場所ではなく、データを分類する階層を作る場所と理解すると分かりやすくなります。
「コンパクト形式」では担当者とタイプが同じ列に見えることがある
Excelのピボットテーブルは、初期状態では「コンパクト形式」で表示されることがあります。この形式では、複数の行フィールドが同じ「行ラベル」の列にまとめて表示されます。
例えば「担当者」の下にインデントされた「新規」「機種変更」といったタイプが表示されるため、「タイプという項目が急に担当者の行へ入り込んだ」ように見えることがあります。
しかし内部では、担当者とタイプは別々のフィールドです。表示形式を変更すると、その構造を確認しやすくなります。
表形式で確認すると分かりやすい
ピボットテーブル内をクリックし、「デザイン」タブから「レポートのレイアウト」→「表形式で表示」を選ぶと、担当者とタイプを別々の列として表示できます。
例えばコンパクト形式では「佐藤」の下に「新規」「機種変更」がインデント表示されていても、表形式にすると「担当者」列と「タイプ」列に分かれるため、どのフィールドがどこに配置されているのか理解しやすくなります。
契約件数を集計するなら「値」エリアも必要
「担当者ごとにタイプ別・通信データ量別の契約件数を集計する」という目的の場合、行と列だけでなく、何を件数として数えるのかを「値」エリアへ入れることが重要です。
例えば元データが次のような構成だとします。
| 契約番号 | 担当者 | タイプ | 通信データ量 |
|---|---|---|---|
| 001 | 佐藤 | 新規 | 5GB |
| 002 | 佐藤 | 新規 | 20GB |
| 003 | 佐藤 | 機種変更 | 5GB |
| 004 | 鈴木 | 新規 | 20GB |
このデータから契約件数を数えたいなら、例えば次の配置が考えられます。
- 行:担当者、タイプ
- 列:通信データ量
- 値:契約番号の個数
この配置であれば、「佐藤さんの新規契約のうち5GBは何件、20GBは何件」という形でクロス集計できます。
「通信データ量」を列に置く意味
通信データ量を「列」エリアへ置くと、5GB、20GB、無制限などのカテゴリーが横方向へ展開されます。
例えば次のようなピボットテーブルになります。
| 担当者 | タイプ | 5GB | 20GB | 無制限 | 総計 |
|---|---|---|---|---|---|
| 佐藤 | 新規 | 3 | 2 | 1 | 6 |
| 佐藤 | 機種変更 | 1 | 4 | 2 | 7 |
| 鈴木 | 新規 | 2 | 3 | 1 | 6 |
この場合、「担当者→タイプ」で縦方向に分類し、「通信データ量」で横方向に分類し、その交点に「契約件数」が表示されています。
つまりピボットテーブルでは、行と列は「何によって分類するか」、値は「何を計算するか」という役割の違いがあります。
契約件数なら「合計」ではなく「個数」になっているか確認する
契約件数を求めたい場合、「値」エリアに配置したフィールドの集計方法にも注意が必要です。
例えば「契約番号」を値へ入れた場合、文字列として管理されていれば通常は「個数」として集計されます。しかし数値だけの項目を値へ入れると、Excelが自動的に「合計」を選ぶ場合があります。
契約件数を数える目的なら、値フィールドを右クリックして「値フィールドの設定」を開き、集計方法が「個数」になっていることを確認します。
例えば契約番号が101、102、103だったとして、「合計」にすると306という意味のない数値になってしまいます。求めたいのは3件なので、この場合は「個数」が適切です。
積み上げ縦棒のピボットグラフではフィールド配置がグラフにも反映される
ピボットテーブルから積み上げ縦棒のピボットグラフを作成すると、ピボットテーブルのフィールド配置がグラフの軸や系列にも反映されます。
「担当者」と「タイプ」を行エリアへ配置している場合、ピボットグラフではこれらが横軸側のカテゴリーとして扱われます。そのため担当者名だけでなくタイプも横軸に現れることがあります。
一方、「通信データ量」を列エリアへ配置していれば、5GB、20GB、無制限などが系列として扱われ、積み上げ縦棒の色分けになります。
概念的には「佐藤・新規」という1本の棒の中に、5GB、20GB、無制限の契約件数が積み上げられるイメージです。
担当者だけを横軸にしたい場合はタイプの配置を見直す
もし作りたいグラフが「担当者ごとに1本の棒を表示し、その棒をタイプ別に積み上げる」というものなら、「担当者」と「タイプ」の両方を行へ置く配置とは目的が異なります。
例えばタイプを積み上げの色分けにしたいなら、基本的には次のような考え方になります。
- 行:担当者
- 列:タイプ
- 値:契約番号の個数
この場合、横軸に「佐藤」「鈴木」などの担当者が並び、1本の棒の中に「新規」「機種変更」などのタイプが積み上げられる形になります。
「何を横軸にしたいか」「何を色分けして積み上げたいか」を先に決めると、フィールドをどこへ置けばよいか判断しやすくなります。
タイプと通信データ量の両方をグラフで表現したい場合
少し複雑になるのが、「担当者別」「タイプ別」「通信データ量別」という3つの分類を1つのグラフに同時に表現したい場合です。
例えば、横軸を担当者→タイプの2階層にして、積み上げ部分を通信データ量にするのであれば、次の配置が適しています。
- 行:担当者、タイプ
- 列:通信データ量
- 値:契約番号の個数
この場合、タイプが行へ追加されるのは意図した集計構造そのものです。担当者の下をタイプ別に分け、それぞれの棒を通信データ量別に積み上げるためです。
逆に横軸を担当者だけにしたいなら、タイプと通信データ量の両方を同時に系列へ入れるとグラフが複雑になりやすいため、「何を最も比較したいのか」を決めて構成を簡略化したほうが読みやすくなります。
ピボットテーブルの4つのエリアを理解すると迷いにくい
Excelのピボットテーブルには大きく4つのフィールド配置エリアがあります。それぞれの役割を整理すると、今回のような疑問を解消しやすくなります。
| エリア | 役割 | 例 |
|---|---|---|
| 行 | 縦方向に分類する | 担当者、タイプ |
| 列 | 横方向に分類する | 通信データ量 |
| 値 | 合計・個数・平均などを計算する | 契約番号の個数 |
| フィルター | 表示対象を絞り込む | 契約月、店舗など |
今回「タイプ」が行に出てくる理由は、この表でいう「行」の役割そのものです。担当者の次にタイプを置いたので、縦方向に2段階の分類が作られています。
「契約1月」のシート名と1月だけの集計は別問題
元データのワークシート名が「契約1月」で、そのシート内に1月分だけが入っているのであれば、そのデータ範囲から作ったピボットテーブルは基本的に1月分を集計します。
一方、今後2月、3月とデータが増える場合、毎月別々のシートからピボットテーブルを作るより、1つのテーブルに「契約月」という列を作り、1月・2月・3月のデータを縦方向へ追加していく方法もあります。
そのうえで「契約月」をフィルターやスライサーへ設定すれば、同じピボットテーブルで1月だけ、2月だけ、全期間などを切り替えて分析できます。継続的に集計する業務では、このような元データの設計も重要です。
元データは「1行1契約」にするとピボット集計しやすい
契約件数を正しく数えるためには、元データの作り方も重要です。基本的には1行が1件の契約を表す形にしておくと、ピボットテーブルで集計しやすくなります。
例えば「契約番号・契約月・担当者・タイプ・通信データ量」という列を用意し、契約ごとに1行ずつ記録します。
セル結合を多用したり、同じ契約について複数行を使ったりすると、「契約番号の個数」を数えたときに実際の契約件数と一致しないことがあります。ピボットテーブルを使う場合は、元データをデータベース形式に整えることがポイントです。
フィールドが意図しない場所へ入ったときはドラッグして移動できる
ピボットテーブルを作る際、フィールド名のチェックボックスをクリックすると、Excelがデータ型などから判断して配置場所を自動的に決める場合があります。
文字列フィールドは行側へ、数値フィールドは値側へ配置されることがありますが、Excelが選んだ場所をそのまま使う必要はありません。ピボットテーブルのフィールド一覧から、目的のフィールドを「行」「列」「値」「フィルター」の好きな場所へドラッグできます。
したがって、もし「タイプ」を行へ置きたくない場合は、行エリアから削除するか、列・フィルターなど目的に合った場所へ移動します。
目的別にフィールド配置を決める具体例
同じ元データでも、知りたい内容によってフィールド配置は変わります。よくあるパターンを整理すると次のようになります。
| 知りたいこと | 行 | 列 | 値 |
|---|---|---|---|
| 担当者別の総契約件数 | 担当者 | なし | 契約番号の個数 |
| 担当者×タイプ別の契約件数 | 担当者 | タイプ | 契約番号の個数 |
| 担当者ごとにタイプを縦に表示 | 担当者、タイプ | なし | 契約番号の個数 |
| 担当者・タイプごとに通信量別件数 | 担当者、タイプ | 通信データ量 | 契約番号の個数 |
このように、「タイプをどこに表示したいか」で配置が決まります。行に置けば縦方向、列に置けば横方向やグラフの系列側として使われます。
積み上げ縦棒グラフを作るときは「積み上げたい項目」を列へ置く
積み上げ縦棒グラフでは、1本の棒の中を何によって色分けするのかが重要です。ピボットグラフでは、一般的に列エリアに置かれたフィールドが系列となり、積み上げ部分を構成します。
例えば「担当者ごとに通信データ量別の契約件数を積み上げたい」なら、行を担当者、列を通信データ量、値を契約番号の個数とすると分かりやすくなります。
一方、「担当者ごとにタイプ別の契約件数を積み上げたい」なら、行を担当者、列をタイプ、値を契約番号の個数とします。
「担当者→タイプ」を横軸の階層にして、そのそれぞれについて通信データ量を積み上げたいなら、行を担当者・タイプ、列を通信データ量とする現在の考え方が適しています。
まとめ|タイプが行に追加されるのは「行エリアへ配置しているから」
Excelのピボットテーブルで「担当者」と「タイプ」を行エリアへ配置すると、タイプが担当者の下に追加されるのは正常な動作です。Excelは「担当者→タイプ」という階層を作り、それぞれの組み合わせについて集計します。
特にコンパクト形式では複数の行フィールドが同じ「行ラベル」列へまとめて表示されるため、タイプが突然追加されたように見えることがあります。「デザイン→レポートのレイアウト→表形式で表示」にすると構造を確認しやすくなります。
担当者・タイプ・通信データ量ごとの契約件数を調べる場合は、例えば「行:担当者、タイプ」「列:通信データ量」「値:契約番号の個数」という構成が考えられます。
ポイントは、「行と列は分類する項目」「値は数える・合計する項目」と考えることです。タイプを縦方向の分類にしたいなら行、積み上げグラフの色分けとして使いたいなら列側へ配置するなど、最終的に作りたい表やグラフの形から配置を決めると迷いにくくなります。


コメント