スプレッドシートで素早くデータを分析する方法

# この記事について

Googleスプレッドシートなどの表計算アプリを使っていると、データを様々な角度から分析したくなることがあると思います。ピボットテーブルを使うと素早く簡単にデータを分析することができます。

# ピボットテーブルとは

データを集計して表にしてくれる機能です。
データに対してどういった切り口で集計するかを指定するだけで集計表を作ってくれます。
データの要約、フィルタリング、クロス集計をしてくれます。

ピボットPIVOTなので読み間違えに気を付けましょう。

# 注意点

この後説明するサンプルデータのようにデータが整っていることが大事です。データの形式がバラバラであったり、入っているデータに整合性がないと上手く集計することはできません。

# サンプルデータの説明

ピボットテーブルは実際に触ってみるとすぐに理解できると思います。そのためにサンプルデータを用意しました。
サンプルデータは学力テストの成績を表したものです。
データは次の通りです。

- クラスは3年1組・3年2組・3年3組の3クラス
- クラスに3人ずつで全部で9人
- 科目は国語・数学・英語の3科目
- テストは2023/4/1と2023/6/1の2回
- 点数は100点満点

# サンプルデータ

スプレッドシートにコピペで貼り付けることができます。
    
```text
日付	クラス	名前	科目	点数
2023/04/01	3年1組	Aさん	国語	77
2023/04/01	3年1組	Aさん	数学	80
2023/04/01	3年1組	Aさん	英語	90
2023/04/01	3年1組	Bさん	国語	46
2023/04/01	3年1組	Bさん	数学	51
2023/04/01	3年1組	Bさん	英語	74
2023/04/01	3年1組	Cさん	国語	77
2023/04/01	3年1組	Cさん	数学	86
2023/04/01	3年1組	Cさん	英語	65
2023/04/01	3年2組	Dさん	国語	1
2023/04/01	3年2組	Dさん	数学	93
2023/04/01	3年2組	Dさん	英語	14
2023/04/01	3年2組	Eさん	国語	71
2023/04/01	3年2組	Eさん	数学	36
2023/04/01	3年2組	Eさん	英語	68
2023/04/01	3年2組	Fさん	国語	8
2023/04/01	3年2組	Fさん	数学	23
2023/04/01	3年2組	Fさん	英語	1
2023/04/01	3年3組	Gさん	国語	75
2023/04/01	3年3組	Gさん	数学	84
2023/04/01	3年3組	Gさん	英語	14
2023/04/01	3年3組	Hさん	国語	71
2023/04/01	3年3組	Hさん	数学	32
2023/04/01	3年3組	Hさん	英語	0
2023/04/01	3年3組	Iさん	国語	85
2023/04/01	3年3組	Iさん	数学	12
2023/04/01	3年3組	Iさん	英語	37
2023/06/01	3年1組	Aさん	国語	44
2023/06/01	3年1組	Aさん	数学	21
2023/06/01	3年1組	Aさん	英語	34
2023/06/01	3年1組	Bさん	国語	100
2023/06/01	3年1組	Bさん	数学	49
2023/06/01	3年1組	Bさん	英語	89
2023/06/01	3年1組	Cさん	国語	90
2023/06/01	3年1組	Cさん	数学	86
2023/06/01	3年1組	Cさん	英語	89
2023/06/01	3年2組	Dさん	国語	69
2023/06/01	3年2組	Dさん	数学	88
2023/06/01	3年2組	Dさん	英語	53
2023/06/01	3年2組	Eさん	国語	83
2023/06/01	3年2組	Eさん	数学	44
2023/06/01	3年2組	Eさん	英語	75
2023/06/01	3年2組	Fさん	国語	16
2023/06/01	3年2組	Fさん	数学	95
2023/06/01	3年2組	Fさん	英語	32
2023/06/01	3年3組	Gさん	国語	68
2023/06/01	3年3組	Gさん	数学	94
2023/06/01	3年3組	Gさん	英語	85
2023/06/01	3年3組	Hさん	国語	51
2023/06/01	3年3組	Hさん	数学	73
2023/06/01	3年3組	Hさん	英語	67
2023/06/01	3年3組	Iさん	国語	19
2023/06/01	3年3組	Iさん	数学	22
2023/06/01	3年3組	Iさん	英語	81
```
    

# サンプルデータの分析

このサンプルデータをどのような切り口で分析したくなるでしょうか？
- 平均点の高い科目は何だろう？
- 平均点の高いクラスはどこだろう？
- 1回目のテストと2回目のテストで平均点は上がったのか？
等々

# ピボットテーブルを作ってみよう！

まず新規のスプレッドシートを用意してサンプルデータを貼り付けましょう。

![スクリーンショット 2023-10-01 18.43.28.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/261675/60ac062a-fa90-df38-4c6c-4c7752a023a7.png)


## ピボットテーブルを作成

メニュー、挿入、ピボットテーブル

![スクリーンショット 2023-10-01 19.56.16.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/261675/d33260ac-8a4b-0452-e00b-bfa6e80c8b46.png)


データ範囲、挿入先はそのままで作成ボタンを押します。

![スクリーンショット 2023-10-01 18.43.52.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/261675/62d0531b-4995-78e7-ef53-5e9cf967f8fc.png)

画面説明：左側がピボットテーブル、右側がピボットテーブルエディタ

![スクリーンショット 2023-10-01 18.44.29.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/261675/3e9865b7-25ad-8f06-5237-4a49bccfbe6e.png)

これで準備完了です。

右側のピボットテーブルエディタで設定を行うことで、左側のピボットテーブルに集計表が自動で作成されます。

# 分析してみよう！

「平均点の高い科目は何だろう？」を見てみましょう。
右側のピボットテーブルエディタを設定することで、左側のピボットテーブルに集計結果が表示されます。

行に科目を追加
![スクリーンショット 2023-10-01 20.06.42.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/261675/58c14f9c-a189-ffd5-efca-4367d90e226e.png)

左側のピボットテーブルが次のような表示に変わります。
![スクリーンショット 2023-10-01 20.13.03.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/261675/07d814e8-2e9e-bbe3-2e7f-78cd5f265b05.png)

値に点数を追加します。
![スクリーンショット 2023-10-01 20.19.19.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/261675/93d73448-3e4c-ba63-188f-ca3af4c26ecb.png)

値の集計をaverageに変更
![スクリーンショット 2023-10-01 20.23.27.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/261675/fe9b0906-e6e6-7a7a-e364-0f49c3f4aa4a.png)

![スクリーンショット 2023-10-01 20.24.41.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/261675/fe1cac88-ea57-8fb0-b1c5-1cf3b4bf1753.png)
これで平均点の高い科目が一目瞭然です。


さらに列にクラスを追加します。
![スクリーンショット 2023-10-01 20.26.07.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/261675/315d7be6-94c6-3e90-82f9-ed8d123cb320.png)

![スクリーンショット 2023-10-01 20.26.56.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/261675/701504cd-7dda-046e-d249-011f319cbe4b.png)
「平均点の高いクラスはどこだろう？」がわかるようになります。

ここで3年2組の英語の平均点が低いことに気付いたとします。

C列3行目のセルをダブルクリックすると…

別シートにその内容がコピーされます。このシートを見ると1点しか取れていない人がいることがわかります。

![スクリーンショット 2023-10-01 20.28.04.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/261675/b225c1eb-80ca-a610-4f90-02863bdfeaa0.png)


「1回目のテストと2回目のテストで平均点は上がったのか？」を知るにはどうすれば良いでしょうか。

シートが切り替わっていると思いますので「ピボット テーブル 1」のシートに戻ります。

ビボットテーブルエディタで次のように設定します。

行に指定されている科目を削除
![スクリーンショット 2023-10-01 20.30.41.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/261675/e4497943-f1ac-153d-e000-17c75e493e9a.png)

代わりに日付を追加
![スクリーンショット 2023-10-01 20.31.42.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/261675/138c7a85-2f1e-a8d5-d0cf-fce339f89a1d.png)

![スクリーンショット 2023-10-01 20.32.22.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/261675/ee0ebf8c-f312-7cee-10ac-10637c879bec.png)
平均点数が上がったクラスや下がったクラスを確認することができます。


# フィルタについて

集計の仕方はそのままで、対象とするデータをフィルタすることができます。

科目をフィルタへドラッグします。
![スクリーンショット 2023-10-01 20.33.17.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/261675/2787c7f5-97b8-d9cc-fe94-e5d0501fd0cc.png)

現在のフィルタの下の「すべての項目を表示しています」をクリックします。
![スクリーンショット 2023-10-01 20.35.30.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/261675/d51e17d2-8107-73a3-d742-4f967fe86627.png)

次のように科目から数学を外してみます。
![スクリーンショット 2023-10-01 20.35.46.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/261675/68f424b8-9b61-0384-8a71-da53da16ea95.png)

するとピボットテーブルの方は数学が除かれた集計結果になります。
![スクリーンショット 2023-10-01 20.36.00.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/261675/1f35748e-9c5b-6a7f-677e-eaab1638bf4c.png)


# グラフにしてみる

ピボットテーブル上で範囲選択して
![スクリーンショット 2023-10-01 20.40.39.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/261675/75b33203-3187-969d-953d-82fd79a45017.png)

メニューからグラフを選ぶ
![スクリーンショット 2023-10-01 20.40.53.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/261675/79e8b54c-8cbf-362c-9112-af4c1a8b6ecc.png)

グラフも簡単（平均値をただ積み上げているだけですが…）
![スクリーンショット 2023-10-01 20.41.26.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/261675/a7aa6780-6574-ea3e-66f4-a6167c9603cf.png)

# 最後に

ピボットテーブルでは他にも総計に対する割合を表示できたり、行や列を複数指定することができたりと多機能です。また同様の機能がエクセルにも備わっています。（こちらの方が元祖かな）

ピボットテーブルはとても便利な機能なのですが、私の周りでは案外知らない人が多かったので紹介しておこうと思いました。