皆さんは好きな選手=推し選手の成績が良いと嬉しくなったり、テンションが上がったりしませんか?笑
この記事では、ExcelやGoogleスプレッドシートを使って推し野球選手の成績を自分で集計し、セイバーメトリクス指標まで自動計算する方法を解説します。プロ野球選手はもちろん、データサイトに載らないアマチュア選手の集計にも使えます。
私は普段から推し選手の成績を打席結果毎に、対戦チーム別・ホームビジター別・対左右別などで集計して、調子の良し悪しや対戦相手との相性を分析しています。「悪いところばかりでなく、良いところもきっとある!それでポジろう!」という気持ちでやっていますw
この記事でできるようになること
- 通算成績からOPS・BABIP・WHIPなどのセイバー指標を自動計算する表が作れる
- 打席結果を入力するだけで安打・三振・四死球が自動判定される集計シートが作れる
- 試合別・対戦チーム別・対左右別など好きな切り口で成績を分析できる
完成イメージはこちら↓


ExcelでもGoogleスプレッドシートでも、この記事の数式はそのまま使えます(LibreOffice CalcもOK)。スマホしか持っていない方も、Googleスプレッドシートのアプリで閲覧・入力できますよ!
【無料配布】コピーして使えるテンプレート
「数式を自分で組むのは大変…」という方のために、この記事で作る集計シートをGoogleスプレッドシートのテンプレートとして配布しています。
▶ 推し選手成績集計テンプレート(Googleスプレッドシート)
開いたら「ファイル → コピーを作成」で自分のGoogleドライブに保存してから使ってください(元ファイルは閲覧専用です)。仕組みを理解したい方・自分流にカスタマイズしたい方は、このまま読み進めて一緒に作っていきましょう!
準備編:はじめる前に
目標(目的)を決める
まず「どの程度まで知りたいのか」を決めましょう。ざっくり集計するだけなら簡単ですし、対左右別・対戦チーム別まで見てニヤニヤしたい(笑)ならそれなりに大変です。
- 基礎編:通算成績からセイバーメトリクス指標を見たい! → 30分もあれば完成
- 応用編:打席毎に集計して対左右別・対戦チーム別まで見たい! → 最初の設定に1〜2時間
- お試し:とりあえずセイバーメトリクスに触れてみたい! → 計算機とメモ帳でOK
用意するもの
その1. 表計算ソフト
Excel・Googleスプレッドシート・LibreOffice Calc・Numbersなど、使いやすいもので構いません。おすすめはGoogleスプレッドシート。無料で使えて、外出先でもスマホやタブレットから確認・入力できます。スマホアプリも昔と比べてかなり進化していて、数式の入力補完も効くので観戦しながらの入力も現実的になりました。
その2. 推しの成績データ
これが結構重要です。データの入手先をまとめておきます(2026年更新)。
| 入手先 | 向いている用途 |
|---|---|
| NPB公式 | 通算・シーズン成績の基本データ |
| プロ野球データFreak | 状況別成績・セイバー指標の答え合わせ |
| スポーツナビ(一球速報) | 打席毎の結果を拾う |
| ニッカン式スコア | 打席毎の結果を拾う(表記の参考にも) |
| 1.02 Essence of Baseball | 本格的なセイバー指標を見たい方向け |
アマチュア選手の場合はチームの公式サイトやSNSの試合実況アカウント、もしくは実際にグラウンドへ足を運んでスコアをつける方法があります。推しの打席結果だけメモしておくのでも十分です!
その3. 各種指標の計算式
この記事の後半に主要な指標の計算式一覧を載せているので、そちらを参考にしてください。
基礎編:通算成績からセイバー指標を算出する
通算成績の表を作る
「〇〇年通算成績」といったシート名をつけて、見出しを横一列に作ります。
野手なら「試合・打席・打数・得点・安打・二塁打・三塁打・本塁打・塁打・打点・盗塁・盗塁死・犠打・犠飛・四球・故意四球・死球・三振・併殺打・打率・長打率・出塁率」、投手なら「登板・勝利・敗北・セーブ・完投・完封勝・無四球・勝率・打者・投球回・安打・本塁打・四球・故意四球・死球・三振・暴投・ボーク・失点・自責点・防御率」あたりを並べましょう。


POINT!計算で出せる成績は数式で入力しよう
打率・長打率・出塁率・防御率などは手入力せず数式にしておきます。例えば安打がE2、打数がC2にあるなら、打率のセルには次のように入力します。
=E2/C2こうしておけば、シーズン中に安打数や打数を更新するだけで打率が勝手に再計算されます。一度作れば他の選手にも使い回せるのがこの方式の強みです!計算式はNPBの「記録の計算方法」も参考になります。
セイバーメトリクス指標を追加する
通算成績の表の下に、見てみたい指標を追加していきます。多ければいいというものでもないので、お好みで!私が集計しているのは野手ならXBH・OPS・GPA・IsoP・IsoD・BB%・K%・BB/K・AB/HR・BABIP・RC27・XR27あたり、投手ならOAV・K/9・BB/9・K/BB・WHIP・LOB%・BABIPあたりです。
例えばOPS(出塁率+長打率)なら、出塁率がV2・長打率がU2にある場合↓
=V2+U2という具合に、すでに算出済みのセルを参照して組み立てていきます。主要指標の計算式は記事後半の一覧表をどうぞ。
応用編:打席毎・対戦打者毎に集計する
ここからが本番です。打席結果を1行ずつ記録していくシートを作れば、あとから試合別・対戦チーム別・対左右別など、好きな切り口で集計できるようになります。
シートの列構成
「〇〇年打席結果」という名前で新しいシートを作り、以下の列を横一列に並べます。この記事の数式はすべてこの列配置を前提にしているので、まずはこの通りに作るのがおすすめです(テンプレートも同じ配置です)。
| 列 | 項目 | 入力方法 |
|---|---|---|
| A | NO(通し番号) | オートフィル |
| B | 日付 | 手入力 |
| C | H/V(ホーム・ビジター) | 手入力(HかV) |
| D | 対戦チーム | 手入力 |
| E | 打順 | 手入力 |
| F | 守備 | 手入力 |
| G | 回(イニング) | 手入力 |
| H | 巡目(何打席目か) | 手入力 |
| I | 対戦相手(打者or投手名) | 手入力 |
| J | 左右 | 手入力(左か右) |
| K | 結果(左安・三振・四球など) | 手入力 |
| L〜AB | 打席・打数・安打・二塁打・三塁打・本塁打・塁打・打点・三振・GO・AO・四球・故意四球・死球・犠打・犠飛・併殺打 | 数式で自動判定(打点のみ手入力) |
| AC〜AF | 対左(打席・打数・安打・打率) | 数式 |
| AG〜AJ | 対右(打席・打数・安打・打率) | 数式 |
| AK | 通算打率 | 数式 |
項目が多く見えますが、手入力するのは日付から結果まで(B〜K列)と打点だけ。あとは最初に数式を仕込んでおけば全部自動で埋まります。データは1行目を結合セル用の予備、2行目を見出し、3行目からデータ(通し番号1=3行目)とします。
投手推しの方は「対戦打者毎」に同じ考え方で作ります。列は打順・守備の代わりに対戦打者名、打点の代わりに球数・失点・自責点(試合別側)、お好みで捕手(バッテリー)列を。数式の組み方はこれから解説する野手版と全く同じなので、配布テンプレートの「対戦打者別」シートを参考にしてください。


結果(K列)の表記はニッカン式スコアに合わせて「左安」「二ゴ」「右飛」「三振」「四球」のように入力します。安打のときに赤字になるよう、条件付き書式で「セルの値が『安』『2』『3』『本』を含むとき赤文字」を設定しておくと見やすいですよ!
打席・打数を自動カウントする(COUNTA・SUM)
やりたいこと:結果が入力されたら打席に1が立ち、四死球・犠打・犠飛を除いた打数が計算される。
打席(L3)↓
=COUNTA($K3)打数(M3)↓ 打席から四球・故意四球・死球・犠打・犠飛(W〜AA列)の合計を引きます。
=L3-SUM(W3:AA3)安打・長打を自動判定する(IF+ISNUMBER+SEARCH)
やりたいこと:結果セル(K列)に特定の文字が含まれていたら1、なければ0を返す。
基本の型はこれです。二塁打(O3)なら↓
=IF(ISNUMBER(SEARCH("2",$K3)),1,0)| パーツ | 役割 |
|---|---|
| SEARCH(“2”,$K3) | K3の中から「2」を探す。見つかれば位置の数値、なければエラーを返す |
| ISNUMBER(…) | 数値ならTRUE(=見つかった)、エラーならFALSE |
| IF(…,1,0) | TRUEなら1、FALSEなら0 |
この型さえ覚えれば、あとは探す文字を変えるだけ。各列に入れる数式はこうなります。
三塁打(P3): =IF(ISNUMBER(SEARCH("3",$K3)),1,0)
本塁打(Q3): =IF(ISNUMBER(SEARCH("本",$K3)),1,0)
GO(U3) : =IF(ISNUMBER(SEARCH("ゴ",$K3)),1,0)
AO(V3) : =IF(ISNUMBER(SEARCH("飛",$K3)),1,0)+IF(ISNUMBER(SEARCH("邪",$K3)),1,0)
犠打(Z3) : =IF(ISNUMBER(SEARCH("ギ",$K3)),1,0)
併殺打(AB3): =IF(ISNUMBER(SEARCH("併",$K3)),1,0)安打(N3)は単打・二塁打・三塁打・本塁打のどれでも1にしたいので、4つ分を足します↓
=IF(ISNUMBER(SEARCH("安",$K3)),1,0)+IF(ISNUMBER(SEARCH("2",$K3)),1,0)+IF(ISNUMBER(SEARCH("3",$K3)),1,0)+IF(ISNUMBER(SEARCH("本",$K3)),1,0)塁打(R3)は安打+二塁打+三塁打×2+本塁打×3で計算します↓
=N3+O3+P3*2+Q3*3三振・四死球をカウントする(COUNTIF)
やりたいこと:結果セルが特定の文字列と完全一致したら1を返す。「含む」判定のSEARCHと違い、COUNTIFは表記がブレない項目に使います。
三振(T3) : =COUNTIF($K3,"三振")+COUNTIF($K3,"振逃")
四球(W3) : =COUNTIF($K3,"四球")
故意四球(X3): =COUNTIF($K3,"敬遠")
死球(Y3) : =COUNTIF($K3,"死球")犠飛を判定する(AND)
やりたいこと:「飛」を含み、かつ打点(S列)が1以上のときだけ1を返す。条件が2つあるのでANDで束ねます。
=IF(AND(ISNUMBER(SEARCH("飛",$K3)),$S3>=1),1,0)※厳密には犠飛でない外野フライ打点(タッチアップ以外)もあり得ますが、そこはご愛嬌ということで。気になる打席だけ手で直せばOKです!
対左・対右の成績を積み上げる(IFの累積)
ここが一番ややこしいポイントです。旧版では「文字だけだと分かりにくい」と書いていた部分なので、今回はしっかり図解しますね。
やりたいこと:左右セル(J列)が「左」の打席だけ、対左の打席・打数・安打(AC〜AE列)に積み上げていく。
考え方は「1行上の累計に、今の行の分を足すかどうかをIFで判断する」です。最初の行(通し番号1=3行目)は上に累計がないので式が少しだけ違います。
通し番号1(3行目)の対左打席(AC3)↓ この打席が左投手ならL3の値を、違うなら0を入れます。
=IF($J3="左",L3,0)通し番号2以降(4行目〜)の対左打席(AC4)↓ 左なら「上の累計+今の打席」、違うなら「上の累計そのまま」。
=IF($J4="左",AC3+L4,AC3)実際の動きを表にするとこうなります↓
| NO | 左右(J) | 打席(L) | 対左打席(AC) | ACの中身 |
|---|---|---|---|---|
| 1 | 左 | 1 | 1 | 左なのでL3の1が入る |
| 2 | 右 | 1 | 1 | 右なので上の1をそのまま引き継ぐ |
| 3 | 左 | 1 | 2 | 左なので上の1+今の1で2 |
| 4 | 左 | 1 | 3 | 左なので上の2+今の1で3 |
対左の打数(AD)・安打(AE)も同じ型で、Lの部分をM・Nに変えるだけです。対右(AG〜AI列)は “左” を “右” に変えれば完成。対左・対右の打率は安打÷打数を入れておきます(AF4なら =AE4/AD4)。


通算打率を出す(絶対参照+SUM)
やりたいこと:各行の時点での通算打率(=1打席目からその打席までの安打÷打数)を出す。
通し番号1(AK3)はその行だけの打率↓
=N3/M3通し番号2以降(AK4)は絶対参照($)で先頭行を固定した範囲SUMを使います↓
=SUM($N$3:N4)/SUM($M$3:M4)$N$3のように行を固定しておくと、オートフィルで下にコピーしたとき「N3からその行まで」の範囲が自動で伸びていきます。これが通算打率のカラクリです!
ここまで仕込めば、通し番号3以降はB〜K列を入力して数式列をオートフィルするだけ。日々の入力は1打席30秒もかかりません。
試合別・条件別で集計する(SUMIF)
打席結果シートが育ってきたら、いよいよ分析タイムです。SUMIF関数を使えば「〇月〇日の試合の安打数」「対阪神戦の打数」のような条件付き集計が一発で出せます。
SUMIFの基本の型
=SUMIF(条件を探す範囲, 条件, 合計したい範囲)「〇〇年試合別成績」という新しいシートを作り、A列に通し番号、B列に日付を手入力しておきます。そして例えば「その日の安打数」なら、打席結果シートの日付列(B列)からこのシートのB3と同じ日付を探し、安打列(N列)を合計します↓
=SUMIF('2026年打席結果'!$B:$B, $B3, '2026年打席結果'!N:N)| 引数 | 今回の中身 | 意味 |
|---|---|---|
| 条件を探す範囲 | ‘2026年打席結果’!$B:$B | 打席結果シートの日付列 |
| 条件 | $B3 | このシートのB3(=集計したい試合の日付) |
| 合計したい範囲 | ‘2026年打席結果’!N:N | 打席結果シートの安打列 |
合計したい範囲をL列(打席)・M列(打数)・T列(三振)…と変えた数式を横に並べれば、その試合のスタッツが1行で出揃います。1試合分作ったらあとはオートフィルするだけ!
さらにおすすめなのが、試合別シートの打率を「その試合時点の通算打率」(累積値)にしておくこと。2行目以降にこう入れます↓
=SUM($K$3:K4)/SUM($I$3:I4)打席結果シートの通算打率と同じ「絶対参照で先頭を固定したSUM」の応用です。こうしておくと打率の推移が試合単位で並ぶので、「4月は.250だったのが交流戦で.280まで上がった」みたいなシーズンの波がひと目で分かるようになります。推し活的にはここが一番ニヤニヤできるところです笑


対戦チーム別・ホームビジター別で集計
条件を探す範囲と条件を変えるだけで、いろんな切り口の集計ができます。
対戦チーム別(対阪神の安打数):
=SUMIF('2026年打席結果'!$D:$D, "阪神", '2026年打席結果'!N:N)
ホーム試合のみの安打数:
=SUMIF('2026年打席結果'!$C:$C, "H", '2026年打席結果'!N:N)イニング別(G列)・巡目別(H列)も同じ要領です。打席結果シートさえ作っておけば、思いついた切り口を後からいくらでも増やせるのがこの仕組みの一番いいところです!
TOTAL行を作れば通算成績まで全自動になる
仕上げにもうひと工夫。試合別シートの一番下にTOTAL行を作って、各列をSUMで合計しておきます↓
安打の列なら: =SUM(K3:K52)
試合数は日付を数えて: =COUNTA(B3:B52)そして基礎編で作った通算成績シートの各セルを、手入力ではなくこのTOTAL行への参照に置き換えます↓
通算成績シートの安打セル: =試合別成績!K53これで「打席結果を入力 → 試合別に自動集計 → 通算成績とセイバー指標まで自動更新」の完全連動が完成します。日々やることは打席結果を1行書き足すだけ。通算成績シートの隅に =TODAY() で「〇月〇日現在」と表示しておくと、それっぽさも完璧です笑(配布テンプレートはこの完全連動構成になっています)
【2026年版】QUERY関数ならもっとラクできる
Googleスプレッドシート限定ですが、QUERY関数を使うとSUMIFを並べなくても集計表を一発で作れます。例えば対戦チーム別の打数・安打合計↓
=QUERY('2026年打席結果'!A2:AK, "select D, sum(M), sum(N) where D is not null group by D", 1)SQLっぽい書き方なので最初は戸惑うかもしれませんが、「select 表示したい列, sum(合計したい列) group by まとめたい列」の型だけ覚えれば十分です。SUMIF方式で仕組みを理解してから乗り換えるのがおすすめ!
よくあるエラーと対処法
| 症状 | 原因 | 対処 |
|---|---|---|
| #DIV/0! が出る | 打数0で打率を計算している(開幕前・四球のみの日など) | =IFERROR(N3/M3,”-“) のようにIFERRORで包む |
| #VALUE! が出る | 数式の中の記号が全角になっている(”、$、, など) | 数式内の記号をすべて半角で入力し直す |
| SEARCHが誤判定する | 「2」「3」が日付や背番号など意図しない文字にヒット | 結果列(K列)には結果表記以外を入れない。判定対象を$K3に固定しているか確認 |
| オートフィルで累計がズレる | 絶対参照($)の付け忘れ | $N$3のように先頭行の行番号に$が付いているか確認 |
| SUMIFの結果が0になる | 日付の表示形式が2シートで揃っていない(文字列と日付型の混在) | 両シートの日付列を同じ表示形式に統一する |
【2026年流】AIに数式を作ってもらう
この記事を書いた2019年には考えられませんでしたが、今はChatGPTやClaudeなどのAIに数式を作ってもらえる時代です。うまくいかないときは、こんな風に聞いてみてください↓
Googleスプレッドシートで野球成績を集計しています。
K列に「左安」「二ゴ」「三振」のような打席結果が入っています。
K3セルに「安」「2」「3」「本」のいずれかが含まれていたら1、
含まれていなければ0を返す数式を作ってください。ポイントは「①ソフト名 ②列に何が入っているか ③どうなってほしいか」の3点セットで伝えること。エラーが出たときも、数式とエラーメッセージをそのまま貼れば原因を教えてくれます。関数の勉強と併用すると上達も早いですよ!
主要指標の計算式一覧
| 指標 | 計算式 | ざっくり何が分かる? |
|---|---|---|
| 打率 | 安打÷打数 | ヒットを打つ割合 |
| 出塁率 | (安打+四球+死球)÷(打数+四球+死球+犠飛) | 塁に出る割合 |
| 長打率 | 塁打÷打数 | 1打数あたりの塁打 |
| OPS | 出塁率+長打率 | 打者の総合力の目安 |
| IsoP | 長打率−打率 | 純粋な長打力 |
| BB/K | 四球÷三振 | 選球眼の目安 |
| BABIP | (安打−本塁打)÷(打数−三振−本塁打+犠飛) | インプレー打球の安打率。運や調子の波が見える |
| 防御率 | 自責点×9÷投球回 | 9イニングあたりの自責点 |
| WHIP | (与四球+被安打)÷投球回 | 1イニングに出す走者の数 |
| K/9 | 奪三振×9÷投球回 | 9イニングあたりの奪三振 |
| K/BB | 奪三振÷与四球 | 制球と奪三振能力のバランス |
リーグ平均や係数を使う指標(wOBA・XRなど)は自力計算のハードルが上がるので、1.02 Essence of Baseballなどの専門サイトで確認するのがおすすめです。
終わりに
随分と長くなってしまいましたが、私流の推し選手成績集計方法をご紹介しました!
最初の設定こそ少し手間ですが、一度作ってしまえば毎日の入力は数分。シーズンが進むほどデータが育っていって、推しの調子や相性が数字で見えるようになるのは本当に楽しいですよ。まずは配布テンプレートから気軽に始めてみてください。
分かりにくい部分があれば、お気軽にコメントやXで聞いてくださいね!みんなもレッツ推しスタッツ集計!
※本記事は2019年3月公開の記事を2026年7月に全面リライトしました。データ入手先・関数解説・テンプレート配布を追加しています。








