見出し画像

1球ごとのデータをエクセルで記録し、ピボットテーブルで集計する方法 〜四国アイランドリーグplusデータレポート(5月第5週号)〜

この記事の要約

この記事では、Excelとそのピボットテーブル機能を使って、野球のデータ、特に投球数を分析するためのガイダンスを提供します。

試合中の各球種のデータを作成・整理し、1枚のシートに集約して分析しやすくする方法を紹介します。

このチュートリアルでは、データの作成、ピボットテーブルを使ったデータの集計、三浦瑞樹投手の3分間の簡単な分析について説明しています。

データ分析の初心者の方で、Excelを触ったことがある方を対象にしています。著者は、野球の戦術やパフォーマンスを向上させるために、データ分析の力を強調しています。

wright with ChatGPT

データ分析の具体的な方法を知りたいという相談がよくある

四国アイランドリーグplusデータレポートの第2回は野球の試合における1球ごとのデータをどのように収集し、どのように集計するのかを簡単にまとめたいと思います。

データの作り方、ピボットテーブルの使い方を紹介し、最後にソフトバンクとの交流戦での三浦瑞樹投手を3分で分析するところまでを書いています。

野球の試合データを分析し、戦術やスキル向上に活かしたいという意見を聞く機会は増えてきましたが、実際にはどのように分析すれば良いか分からないという話もよく耳にします。

そのため、今回はエクセルでデータを作り、ピボットテーブルで集計する方法から紹介します。

なにかと便利なエクセルのピボットテーブル機能

自分も選手から試合の映像を送ってもらいコメントを求められたり、まだ見たことのない選手が出場する試合に急遽行って分析をお願いされることがたまにあるのですが、その際には即席で今回紹介するような形でエクセルでデータを記録して、ピボットテーブルで集計をしています。

例えば、前回のコラムで「球場別投手別ストレート平均球速」「球場別球速データ取得率」を算出していますが、これらは複数のデータ項目をかけあわせて集計する「クロス集計」と呼ばれる手法の一部に入ります。

「走者状況別打率」「ストライクカウント別球種別投球割合」など、野球の試合のデータを分析する初歩は「クロス集計」の繰り返しです。

エクセルのピボットテーブルはクロス集計地獄とも言える野球の分析を最も直感的に行えるツールであり、分析初心者におすすめです。

対象読者のイメージは「エクセルを触ったことはあるが、四則演算以外の関数は使ったことがない」という人です。

なお、記事執筆前提となるリーグでの自分の役割は、下の記事をご覧ください。

1球を1行で記録するデータの作り方

投球分析をするための1球ごとデータの作り方

ピボットテーブルでのクロス集計を行う前に、まず、試合での投手の投球分析をする上で最小限な必要なデータの作り方を記載します。

次のサンプルをご覧ください。

投手の分析のために必要な1球を1行で表したデータ例

この画像は、四国アイランドリーグplusのチームとソフトバンクホークス三軍の交流戦の1球ごとのデータの一部です。

このデータでは、下記の項目を記録しています。

・イニング
・表裏
・投手名
・投手の左右
・投手の投球数
・打者の左右
・一球ごとの結果名(ボール、見逃し、空振り、ファウル、凡打、単打、二塁打、三塁打、本塁打、死球、犠打、犠飛)
・ランナー状況(なし、一塁、二塁、三塁、一二塁、一三塁、二三塁、満塁)
・投球前のボール、ストライク、アウトカウント

これに加えて、できれば結果球かそうでないかを判別できる情報はあとからでもつけておきたいです。結果球とは打者の打席内の最終球です(盗塁死で3アウトになった場合など打席途中でイニングが終了した場合を除く)。

試合の映像を見られる環境ならば、球種コース高さを入れることで、より深い分析ができます。スピードガンがある場合は球速も入れたいところです。

また、環境が整っていない場合は相手打者の名前がわからないことはよくありますので、最低限としては打席が右か左かを記載しておけばよいでしょう。できれば、打順を記録しておいて、後々スコアブックと照合できるようにしておくとより良いです。

1つのシートにすべてのデータをまとめる

試合日の列を入れた状態。慣れないうちは複数のシートにせず、1つのシートにすべてのデータをまとめることをおすすめする。

上の画像は、先程のデータに試合日の列を足したものです。4/6と4/23に投げているデータを同じシートで管理しています。

データの作り方を聞かれる際によくあるのが、試合ごとにシートを分けてしまい、データと分析レポートを同じシート内で作り込んでしまうパターンです。

1球を1行で表すデータ(生データやローデータとも呼びます)と、そのデータから作成した分析レポートを作るシートは分けましょう。

桐生明治館での「球都桐生野球史展示会」より、桐生高校の当時の監督・稲川東一郎氏の分析資料。おそらく1950年代〜60年前半頃のもの。

紙の上で分析をしなければならない時代は、例えば上の例のように、1つの分析資料の中に生データと分析レポートを1つに表現する必要がありました。

今でも、エクセル上でこれに近い形を表現しようとするケースが見られますが、生データとレポートは分けた方が良いと思います。

その上で、生データの管理は、慣れないうちはできるだけ1つのシートで表現することをおすすめします。

日本のプロ野球でもせいぜい年間25万球、メジャーリーグでも70~80万球程度であり、1球を1行とすれば、どちらもエクセルで処理できる行数です。四国アイランドリーグplusは2ヶ月で2万球(=2万行)です。おそらく年間10万行も行かないでしょう。

大量のデータを取り扱うプロフェッショナルには決していい顔をされないのですが、まずは1つのシートに1球を1行で表すデータを作り、上記の試合日の例のように必要に応じて列を足す形でデータを管理すると分析しやすいと思います。

ピボットテーブルの使い方

投手の投球数を表示する

一般的には「挿入」タブの一番左に「ピボットテーブル」がある

次に、具体的な分析を行うためにピボットテーブルを使います。

ピボットテーブルはデータの集計処理を直感的に行える機能で、個人的には分析初心者に優しい機能だと考えています。

まず、分析したいデータの全体を選択して、「挿入」タブをクリックした際に一番左にある「ピボットテーブル」をクリックします。

すると、下記のようなシートが新しく作られると思います。これがピボットテーブルです。

エクセル上でピボットテーブルが作られた状態

例えば投手名を「行」に入れて、イニングを「値」に入れると、下記のような表が出来ます。

投手名を「行」に入れて、イニングを「値」に入れた状態。ドラッグ&ドロップで操作できる。

イニングの合計には意味がなく、投手の投球数を表示したいので、「合計/イニング」と書かれているセルを右クリックし、値の集計方法を「データの個数」にします。

値の集計方法を「合計」から「データの個数」へ変更

すると、下記のように「個数/イニング」と集計方法が変更され、投手の投球数が投手ごとに表示できました。

投手の投球数をカウントするためには、イニングでなくともすべての投球でデータが入っている列であれば何を選択しても良いです(球速などはデータが空の場合があるので、投球数全体をカウントする上では不向きです)。

投手ごとの投球数。なお、生データで「投球数」という列を作ってすべての投球行に「1」を入れておけば、個数のカウントでも合計でも投球数になる。几帳面な方はそうしてほしい。

レイアウトを表形式にし、小計を表示しない形にする

上の投手ごとの投球数の状態から「行」に打者左右を追加したものが下記です。

「行」に打者左右を追加し、投手が打者左右毎に何球投げたかを表した表になっている。

個人的にはこのままだと表として見づらいため、ここで表のデザインを変更することをおすすめします。

まずは、「デザイン」のタブをクリックし、レポートのレイアウトをクリックします。

「デザイン」タブと「レポートのレイアウト」

ここで「表形式で表示」を選択し「すべてのアイテムのラベルを繰り返す」を選択すると、下記の形式に変更されます。

「表形式で表示」「すべてのアイテムのラベルを繰り返す」を選択

次に、左側にある「小計」で「小計を表示しない」を選択します。すると下記のように、投手名ごと、対左右打者ごとの投球数(個数/イニング)が表示されるシンプルな形になります。

「小計」で「小計を表示しない」を選択

ピボットテーブルで野球の1球ごとのデータを集計する上では、最初に表示の形式をこのように変更しておくと分かりやすくなると思います。

三浦瑞樹投手を3分で分析してみる

今日のメインはデータの作り方とピボットテーブルの使い方なので、詳細な分析は省きますが、せっかくなので3分だけソフトバンク・三浦瑞樹の傾向を分析してみましょう。

生データは最初に紹介した最低限度のものに加えて、球速、球種、打席結果名も入れたものを使っています。

最初に紹介したものより少し情報量の多い1球1行のデータ。結果球の情報が入ることで分析がよりやりやすくなる。

まず、なぜ三浦投手を対象にしたかというと、いま手元にあるホークスの投手の中で最も投球数が多い投手だったからです。

投手名を行からフィルタに移動させ、三浦瑞樹のみを選択すると、対左右打者の投球数がどちらも145球であることが分かります。

三浦瑞樹の対左右打者別投球数

一球ごとの結果を「列」に入れ、打者の打席結果名が空白のものだけ取り除くとこのようになります。

意味としては、結果球だけ抽出して、対左右打者別にどのような結果だったかを見たものになります。

三浦瑞樹の対左右打者別結果

このデータをコピーし、別の計算用シートに値だけ貼り付けをします。

三浦瑞樹の対左右打者別結果を別シートに貼り付けたもの

ここから打数、安打、被打率を計算します。結果球だけを抽出しているんので、空振りから右の列に書かれている事象(空振り、見逃し、失策出塁、単打、二塁打、凡打)はすべて打数に含まれる一球結果のはずです。安打は単打と二塁打の合計を表しています。

三浦瑞樹の対左右打者別被打率

サンプル数が少ないとはいえ、対左右打者の被打率にちょっと差が出ていて、左投手だけれど左打者に打たれているタイプかな?という仮説が立てられます。

となると、変化球はスライダー系中心の投手であるだろうなと思ったので、次に球種割合を見てみます。

「行」に球種を入れて、結果球だけでなくすべての投球を対象にした球種投球数を表したもの。三浦瑞樹の対打者左右別球種別投球数というクロス集計表になっている。

やはり、対左打者への縦変化系(チェンジアップ、フォークなど)がないので、左打者が外角に目付けをしやすいタイプです。

上のデータを別シートにコピペして対左右打者別の球種割合を出したもの。ストレート割合が高く、独立リーグ相手とはいえ被打率は低めなのでストレートの球質は気になる。

球種割合を出しても、チェンジアップが左打者に対して0.7%とほぼ投げられていませんでした。

3分だとこのくらいまでですが、データだけでなく映像を見てみると、下記の映像は1球だけですが左打者の内角に投げようとして投げきれてないな、とか。

アマチュア時代の球質の分析動画からだと対左打者にもチェンジアップを投げきれていたらしい、とか。

解決したい問題次第で、1球ごとの結果データ、投球映像、トラッキングデータ、バイオメカニクスのデータなどを組み合わせて分析を深められるかとは思います。

試合のデータの基本単位は1球1行の今回紹介した形が基本形で、投球や打球の軌道情報をまとめたトラッキングデータも1球を1行で記録される場合が多いです。1球を1行で表すデータ作りをマスターし、クロス集計する方法を身につければ、データの分析がはかどると思います。

以上、今回はデータの作り方とピボットテーブルの使い方に重点を当てて書いてみました。

最初のコラムにも書いた通りで、自分は「アナリティクスディレクター」なので、問題解決に向けたデータ活用の環境を整えることがメインの役割です。

自分が分析してその結果を発表するというよりは、分析したいけれど一歩を踏み出せていない人の役に立つ情報を出すということを心がけて、一歩ずつ前に進んでいければと思います。

この記事が気に入ったらサポートをしてみませんか?