この記事のこの場所に「この記事には広告が含まれます」という一文が目立つように書いてあります(自画自賛?)
《以上広告アナウンスでした。以下自動広告が挟み込まれる本文》
プロ野球の優勝マジックは難しい。
何が一番難しいかというと、
説明することが難しい。
当ブログでも、何度か説明しようとしたものの、一度も成功できた気がしない。
「教科書」的な存在があればいいのだが、ネットで検索しても、それらしいものは見当たらない。(個人の検索結果です)。
(以下、「なぜ、優勝マジック計算を説明するのが難しいのか」についての個人的見解が、だらだらと続きます。読み飛ばしてかまいません。)
まず、公的組織(日本野球機構、あるいは「優勝マジック」の用語で報道している新聞やマスコミ各社など)による「優勝マジック」についての統一された定義は見つけられず、根拠となるルールや計算方法の原典となるものがどこにあるのか、実際にどのように計算しているのか、ネットで検索してみても、いまいちよくわからないままだ。(個人の検索結果です)
一方、優勝マジックについて、流行りの(無料)AI(らしきもの)に聞いてみても、(実用的ではない)とんちんかんな答えしか返ってこない。中には、実用的ではない計算式を堂々と紹介してくる。そもそもの話で、ネットで検索しても分からないのに、そこから学んでいるAIが答えられるわけがない。(個人の検索結果による感想です。なお、「引き分け数」や「各チームの直接対戦結果と残り試合数」を、考慮も言及もしていないものは、その時点で、実用的なものではない、と個人的に判断しています。)
マジック計算を自力で行いたい(私を含めた奇特な)個々人が、それぞれ試行錯誤してマジック数字の計算方法にたどり着いてはいるようだが、いざその方法を他人に伝えようとしても、戸惑ってしまう。自己流のため、他の人に分かるようにうまく伝えることが難しいのだ。定義や公式がはっきりしていればそれを説明すれば済むのだが、その前提自体があやふやなので、ふわふわした状態で説明しなければならなく、結果的に、手ごたえが感じられないまま、いろいろなことを省略したままお茶を濁してしまう。(個人的な体験です)
個人的にほぼ毎年(優勝が決まりそうになってから慌てて)行っている実際の優勝マジック計算では、表計算ソフトExcel(Microsoft社)を用いて、必要な数字を入力して、必要な表を作成して、必要な数字結果(マジック数)を(ほぼ)「目視」で確認している。決まった手順で計算と判定を行っているので、自動化できそうな過程はあるのだが、個人の能力不足で、関数や条件式でまとめられずに、一つ一つの過程を確認しながら「手作業」で行っているのが現実だ。(個人の能力です)。
毎年同じこと(手作業)を繰り返すのかとうんざりしてきたので、ここで一念発起して、(Excelの関数や条件式等をフル活用して)、
優勝マジックの計算の(できるだけの)自動化
を進めようと決心し、そして、同時に(そのついでに)、その過程を述べていくことで、
優勝マジックの計算の仕組み
を説明できるのではないかと思い、順次、記事化していくことにしたい。
優勝マジックを自動的に計算をするために必要な一連の流れを、順番にブログ記事で連載(不定期)していく予定だが、当記事は、(この後続く予定の)一連の記事の「目次」としての役割を果たすことを目的とする。(あとオマケでどうでもいい個人的な経験談をながながと)。
「初心者による優勝マジック計算の(できるだけの)自動化」まで、マジック残りいくつ!?
[ExcelはMicrosoft社の商品です。当記事では、主に「Excel for the Web – Microsoft 365」を使用しています(無料版。アカウント登録が必要)が、過去の画像を引用した場合には、(以前の名称である)「Web版Excel」で作成した表や、(語尾に20○○との西暦年の付いた)昔のパッケージソフトを使って作成した表や式を使っている可能性があります。ただし、基本的な表計算ソフトの計算機能しか使っていないつもりですので(というかそれしかできない)、他の一般的な表計算ソフト(マルチプラン、ロータス123、三四郎、spreadsheet、・・・適当に思いついたものを並べただけですので表現に正確さが欠ける場合があります)の(初歩的な)仕組みを理解している方であれば誰でも利用可能な内容だと思います(願望)。]
目次(予定)
初心者による優勝マジック計算excel自動化への道
- プロ野球での勝率の計算方法 - 勝率計算とマジック判定の準備
- 自力優勝ルートの判定方法 - 残り試合数と残り直接対決試合数のせめぎ合い
- マジック点灯と消灯の判定方法 - 自力優勝ルートと他力優勝ルートの境界線
- 優勝の可能性消滅と優勝決定 - マジックナンバーの計算自動化へ
都合により、タイトル変更や、章の追加または削除する可能性があります。
当ブログでは、「優勝マジック」に関連する用語の内、誤解や混同を生みやすいものについては別の用語で言い換えるようにしています。当ブログ記事内でも、一部、一般的ではない表現を使っている場合があります。[マジック用語に関する整理については当ブログ記事”分かりにくいプロ野球の「優勝マジック」の用語の改善案(2021年度版)”参照]。
はじめに基本的な考え方について
優勝マジックの説明をする前に、まずは、どのようにして「優勝決定」と断定できるのかについて考えてみたい。
そもそも、プロ野球でのペナントレースの「優勝決定」とは、何を根拠に断定しているのか?
ペナントレースの途中で、まだ試合が残っているのに、「優勝決定」などと報じられることは、よくある。(そしてその後の試合を「消化試合」などと悪い意味で評される。)
まだ試合数が残っているのに、なぜ「優勝決定」と言えるのか?(翌日に試合があるのにビールかけしても大丈夫なのか?)
ペナントレース途中なのに「優勝決定」と言えるのは、「残り試合の結果がどのようになろうと、首位チームは首位のままで、他のチームは首位に届かない」ことが確定した時である。
そしてそれ(優勝決定)を断定できるのは、残り試合で、
首位チームの最悪のケース(→首位チームが残り試合全敗)
その他の各チームの最高のケース(→その他の各チームが残り試合全勝)
を想定し、この両極端なケースでも首位チームがすべての他チームを上回ることが分かっていれば、首位チームの優勝は決定している。
最悪(首位にとって)と最高(他チームにとって)のケースでも、首位を逆転できないのなら、他のどのようなケースでも逆転は不可能だからだ。
このように、各チームで、残り試合の結果を、
自チームの最悪のケース(→自チームが残り試合全敗)
他チームの最高のケース(→他チームが残り試合全勝)
に当てはめて、その場合の結果を比較する。その比較で、自チームの最悪ケースと他チームの最高ケースで、自チームが他のすべてのチームを上回っていれば、自チームの優勝は確定している。
これは優勝に限らず、自チームが他チームに対して上位または下位になるかを確定するのにも必要な考え方になる。
残り試合で、
自チームの最悪のケースでも、他チームの最高のケースを上回っていれば、自チームの(対他チーム)上位が確定し、
逆に、
自チームの最高のケースでも、他チームの最悪のケースを下回っていれば、自チームの(対他チーム)下位が確定する。
すべての他チームに対して、前者(自チーム残り試合全敗でも他チームすべてに対して他チーム残り試合全勝を順位で上回ること)が成立していれば、自チームは他のすべてのチームに対して上位が確定しているので、優勝決定となる。
以上が、優勝(もしくは順位)を(ペナントレース途中でも)確定させるのに必要な考え方である。
基本的な手順としては、(最終順位は「(まずは)勝率で決める」というルールに従い)、
1.各チームで、残り試合の結果から想定できる最終勝率の範囲(上限《残り試合全勝》と下限《残り試合全敗》)を、それぞれ算出
2.各チーム同士で、想定できる最終勝率の範囲で重なる部分があるか、あるいは全く重なっていないかを判定
3.重なる部分があれば実際の試合結果が更新されるたびに、1,2を繰り返す
4.重なる部分が無くなれば、そのチーム間での上位または下位が決定
ことになる。(注:ここでは、一方のチームの上限ともう一方のチームの下限が一致するケースについては考慮していません。一致した場合は、別の条件で順位が確定しているケースもあれば、その時点では確定していないケースもあります。)
そして、チーム同士の想定できる最終勝率の範囲が重なっていて、最終順位が上位か下位かを確定できない途中の状態の時に、あとどれぐらいで重ならないようになるのかを計る目安の一つが、(優勝)マジック数だ。(やっとここで「(優勝)マジック」の言葉が出ました)。
それでは「優勝マジック」とは・・・・と、その説明を進めると話は長くなるので、前書きはこのくらいにしておき、まずは、上で示した基本的な手順での算出や判定の説明を、徐々に進めていき、最終的にはできるだけ表計算ソフト(当記事ではExcel)で自動化できるように、次の記事以降、続けていきたい。
(おまけ)これまでの個人的な経験談(読み飛ばして結構です)
繰り返しになるが、優勝マジックの説明は難しい。
これまでのブログ記事でもまったく手ごたえはなく、(無料)検索AI(みたいなもの)に対して、繰り返し質問を重ねても間違いを指摘していっても、AIが納得?してくれるまで説得できたためしはない。(個人の現時点での経験です)
それでも、これまでの個人的な経験談を(ながながと)語ることで、少しでも何か理解の足しになるかもしれない。どのような発想と理解で個人的に優勝マジックの計算を行っているか、少しでも伝われば、(自己)満足だ。(あくまで独りよがりの個人的な経験談なので、全く参考にならないかもしれません。これでわからなくてもあなたのせいではありません。)
個人的には2017年から(別)ブログで優勝マジックの計算とグラフ化(ゲーム差と各チームとの残り直接対決数の同時表記による図式化)を始めていて、2022年はいろいろな理由があって(後述)、優勝マジックの個人的な算出を怠ってしまったが、その後も毎年終盤になるたびに細々と続けていた。
当ブログでは、過去、表計算ソフトExcel(Microsoft社)を用いて実際にどのように優勝マジックを算出しているのかを、何度か説明したことがある。[当ブログ記事”「優勝マジック」を初心者がいかにExcelで計算しているのか(2021年度版)”、”「優勝マジック」を初心者がいかにExcelで計算しているのか(2023年8月13日阪神版)”]。残念ながら、上手く伝えられたという手ごたえも反応もない。(個人の手ごたえです)
実際のExcelでの作業では、必要な数字を入力して1勝刻みでの最終予想勝率の計算結果を自動で表示するだけで、マジック数字やマジック点灯消灯の判定や判断は、出て来た数字と表を照らし合わせて「目視」で確認しており、細かい計算以外は、実質、「ほぼ手作業」で行っているのが現状だ。(個人の能力による現状です)
毎年のように、ペナントレースが終盤に差し掛かると、慌てて、去年のExcelファイルを立ち上げて、どうやってたのかを思い出しながら手作業で新たなファイルへコピーして新たな数字を再入力し、マジック点灯やマジック数を照らし合わせて判断していくのだが、もっと条件式を使えば自動化できるのに、と思いつつ、毎試合ごとに新たな結果の数字を入力して確認していくのに精いっぱいで、結局何の工夫もせずにシーズンが終わり、同じように次のシーズンを迎えていた。
さらに、最近では、(個人的に)優勝よりもCS進出の方を最後まで追うことが多くなり、首位チームだけでなく全チームを個別に追っていくようになった。優勝が早々に決まっても、CS進出を巡って、最終戦(近く)まで追う必要が多くなった。
こうして増えた「手作業」での手間と、「手作業」によるミスの起こりやすさは、ずっとネックになってきた。(実際、記事公開後に間違いに気づいて、訂正が必要となっていたケースも何度もあり、また、気づかないまま指摘もされないまま放置したままのケースもままある思う。改めてゴメンナサイ)。
今後もこの手間を毎年繰り返すのかと考えたとき、できるだけの自動化ができるように(Excelの)条件式を整えた方がいいのではないかと、(ようやく)思うようになった。
2022年の「欠番」の振り返りと個人的な言い訳
当ブログで「欠番」となってしまった、2022年シーズンについて(の言い訳)。
2022年シーズンは、セリーグでヤクルトが史上最速(当時)となるマジックが点灯し、その後、消灯→再点灯→再消灯、、、と繰り返したものの、点灯後は1位を維持したまま、優勝を決めた。
(備考)
一般には「マジック消滅」と表現されるケースを、当ブログでは「マジック消灯」と表現することにしています。再点灯を含むケースでは「消滅」よりも「消灯」の方が適切だという判断からです。[マジック用語に関する整理については当ブログ記事”分かりにくいプロ野球の「優勝マジック」の用語の改善案(2021年度版)”参照]
一方、パリーグ(2022年シーズン)では、ソフトバンクに優勝マジックが点灯するものの、最終戦で敗北してマジックが「消滅」し、同率同勝数でオリックスと並んで直接対戦成績の順で優勝を逃し、逆にオリックスは優勝マジックを点灯させないまま、優勝を決めた。
(備考)
「当ブログでは(マジック消滅ではなく)『マジック消灯』と表現する」、と、今さっき述べたところですが、2022年のソフトバンク最終戦のケースでは「消滅」と表記しました。この、「最終戦でマジックが消灯したと同時に優勝を逃したことが決定した」ケースでは、再点灯の可能性も同時に消滅したという意味で「マジック消滅」という表現の方が「消灯」よりも適切だと判断したためです。上記の改善案では、「消滅」はその強い語感から誤解を生みやすいため、「消滅」を使うときは「完全消滅」の時に限ることとしています。2022年のケースは、まさに「マジック消滅」が(改善案での用語の意義通りに)当てはまった、まれなケースとして例示しておきます。
2022年シーズンは、セリーグでは、ヤクルトにかなり早い段階でマジックが点灯し、他チームに優勝マジックが点灯することなくヤクルトが優勝を決め、パリーグでは、オリックスが優勝マジックを点灯させないまま、最終戦で優勝を決めた。
ここから個人的な言い訳。(長々と続きます。読み飛ばして下さい)
当ブログでは、それまで、
「ゲーム差」を数直線で表記し(縦軸)、「残り直接対戦試合」を1試合=1ゲームとしてブロック表記し、両者を並べることで、優勝争いや自力優勝の可能性などを視覚的に分かりやすいように図式化
をしてきた。

この図は、ゲーム差と直接対決数の関係を分かりやすくするように試みたものだ。
具体的に(かなりはしょって)説明すると、2019年シーズン途中セリーグでの例を示した図のように、首位と2位は6ゲーム差あるが、直接対決を6試合残しているので、残り直接対決で2位が1位に対して全勝(6勝)すればゲーム差は0となって首位に追いつく。つまり「自力」で首位に(ゲーム差の上で)追いつける。一方3位は残り直接対決数(5試合)がゲーム差(6.5ゲーム)よりも少ないので、「自力」(直接対決で首位に対して全勝)だけでは追いつけない(よってその分、直接対決以外で首位が負けること、つまり他力が必要になる)。
実際には、消化試合数や引き分け数の関係から、ゲーム差と順位が一致しないケースがあり、この表が正確に示しているわけではない。上記の例でも、2位が直接対決で全勝してゲーム差の上では追いついても順位(勝率)では追いつかないケースだった。(当時の個人の確認です)
あくまで、目安としてだが、ゲーム差(数直線)と残り直接対戦数(ブロック)を同列に並べることで、自力・他力を含めた優勝マジックの点灯消灯をわかりやすく図示することができていると、自画自賛している。(個人の自画自賛です)。
補足:
「ゲーム差」という用語も、(優勝マジックの定義同様)公的に定められているわけではないので(個人の確認です)、いざ説明しようとしても、難しい。ただ、実際に用いられている計算式は存在しているので、その定義(らしきもの)や考え方については以降の章で説明することとする。
ここではシンプルに、
「ゲーム」=「試合」
と訳してしまえば、
(下位にとって)「ゲーム差」とは、(その上位相手に)「直接対戦で勝って追いつくのに必要な試合数(ゲーム数)」である、
と表現することも可能なので、「ゲーム差(直接対戦で勝って追いつくのに必要な試合数)」と「実際の残り直接対戦数」の差が、「自力の有る無し」を判定する目安になることが理解できるだろう。(あくまで目安)。
そういった表を、例年通りなら、タイミングを見て、そろそろマジックが点く直前あたりから追い始めて記事化するのだが、2022年は、ヤクルトが早々とマジック点灯した。
あまりにも早いタイミングに、私は追い始めるのを躊躇してしまった。残り試合がまだまだあったからだ。(当時の個人的な)図式化は1試合ごとの結果で作成するので、負担が大きく、これを試合が行われるほぼ毎日、優勝決定まで追い続けて更新し続ける自信はなかった。
そうこうしているうちに、そのまま、ヤクルトは首位を明け渡すことなく優勝を早々に決めてしまったため、2022年セリーグでは、私も図式化を始めるタイミングを失ってしまった。
一方、パリーグでは、混戦が続き終盤にマジックが点灯したため、追い始めようとするものの、図式化を準備している間に、「優勝の可能性があるチームは全て図式化する必要が」、「CS進出も追うべきか」などと、対象を絞り切れず、記事にできないまま、最終戦を迎えた。
結果、2022年は、セパ両リーグとも優勝争いを、私は記事にすることができなかった。
(以上、言い訳でした。)
優勝マジック計算の自動化を目標に
前置きが長くなり過ぎた。
私は、優勝マジックの点灯を判定するのに、かなりの大部分を「手作業」で行っている。
こういうと、職人芸っぽく見えるが、実態は、「自動化したいけどその計算式や条件式を作る能力がないだけ」であり、単純な勝率計算や1勝ごとの最終勝率表等は、表計算ソフトExcelを使っている。[”「優勝マジック」を初心者がいかにExcelで計算しているのか(2021年度版)”参照]
「手作業」と言っても、「自動化できていない」の裏返しであり、できるものなら自動化したい。
自動化が進めば、作業の負担も単純ミスも減り、早く始めて最後まで長時間追うのを躊躇したり、終盤追い詰められて準備できないまま終わってしまうことも(2022年シーズンのようなことも)、減るだろう。
本来なら、こういった手作業の自動化こそ、今はやり(記事公開時点の個人の感想です)の「チャットAI」や「生成型AI」にやってもらいたいところだが、残念ながら、私が利用した「対話型AI」は正確な答えを出してくれなかった。(個人の確認です)
私がやっている「手作業」は、テキト―に手を動かしているわけではなく、ちゃんとしたマジックナンバーの定義(らしきもの)に従って計算して数字を出しているわけで、誰がやっても、報道される数字と同じ結果になる(ならないとおかしい)。
逆に言うと、検索して出てくる(それらしい)「数式」を使って出した答えが、報道される数字と一致しないのならば、その「数式」は役に立たない。現状、「生成型AI」はプロ野球の優勝マジックを計算するのに役に立たない、というのが個人的な結論だ。(現時点の個人的な結論です)。
(補足)
もちろんこれは、「生成AI」の能力というよりも、単に、質問する側(私)の「能力」が、足りていないだけかもしれない。ただ、「優勝マジックの正確な計算式を教えて」と尋ねても「簡易的な」計算式しか教えてくれなかったり(「正確な」と重ねて確認して質問しても同じ答えを繰り返された)、「(実際の日付を指定して)優勝マジックはいくつですか」と聞いたら適当な数字や明らかに違う年のデータをもとに答えて来たり、参考にもならなかった。
もっとも、「生成AI」は「(大量の)検索結果」を元にそれらしい答えをしているだけであり、「優勝マジックの計算式」に関しては(主要な検索サイトでの)「検索結果」が(現時点で)「当てにならない」ものである以上、無いものねだりとしか言いようがない。もしかしたら、反面教師として、間違っている点を繰り返し指摘してAIに認めさせ、正しい結果になるように誘導できれば、それはそれで自分の意見を整理する練習にはなるかもしれないが、現状、私には「優勝マジック」について生成AIを説得することのできるだけの質問能力はない。
(以上は、当時の個人的な環境による個人的な検索結果や対話結果によるものです。ここまで書いておいてなんですが、私が当ブログ記事を書き上げる遅さと、生成AIの進歩の早さと、あなたが当ブログを見つけて読んだタイミング次第では、時代遅れな内容になっている可能性が高いです。)
「優勝マジック」の算出を説明するのに、私が毎年行っているこの「手作業」の部分を言語化すればいいのだろうが、それが難しい。当ブログでも過去何度か解説してきたつもりだが、一度もそれに成功した気がしない。説明すればしようとするほど、返って分かりにくくなっているのでは、と自己嫌悪してしまう。(今回も含めて)。
むしろ、この「手作業」の部分の多くを、自動化、つまり、Excelの関数や数式や条件式を使って表現した方が、どの様な定義で優勝マジックを出しているのかの説明になるのではないのか。
当ブログでは、(個人的な都合による)手作業の効率化と、数式化による説明の両立を目指し、
優勝マジック計算の自動化の確立と説明
を試みたい。
本章は、後に続く記事(予定)の目次となることを目的とする。
補足:
なお、「Excelでの自動化」と言ってますが、あくまで、「プロ野球の優勝マジック計算」の「説明」を目的としているため、完成後のExcelファイルの公開や配布をする予定がないことを、前もってお断りしておきます(私にはその資格も権利も無い、と解釈しています)。また、試合結果と勝敗の入力は、公式ホームページでの結果速報を確認しながらの「手作業」になる予定で、試合結果の勝敗の入力まで自動で検索して行えるようにすることまでは想定していません(私にはその能力がありません)。もし「自動化」という言葉に魅かれてそこまで期待した人がいたのなら、前もってゴメンナサイ。
当ブログでの「優勝マジック」についての過去の関連記事[2026/05/04現在]
初心者がプロ野球のマジックナンバーをいかに理解したか[2018/08/16公開]
初心者がいかに「マジック」(野球)が消えたり点いたりするのを理解したか[2018/08/20公開]
初心者がいかにプロ野球のマジックが消えたり点いたりするのを図式化したか[2019/08/26公開]
初心者がせっかくマジック(プロ野球)が点いたり消えたりするのを図式化したので、2019年セリーグシーズンの動きを追ってみた(2019/08/25~2019/09/21)[2019/08/28公開]
初心者がマジックの動きを図式化し、2019年パリーグシーズンのマジックの動きも追ってみた(2019/09/19~2019/09/24)[2019/09/19公開]
2020年も初心者がセリーグのマジックが点いたり消えたりするのを図式化して追ってみた(2020/09/13~2020/10/30)[2020/09/14公開]
2020年も初心者がパリーグのマジックが点いたり消えたりするのを図式化して追ってみた(2020/10/16~2020/10/27)[2020/10/16公開]
初心者がいかに「優勝マジック」に関する用語のややこしさを力説したか(2021年度版)[2021/06/22公開]
分かりにくいプロ野球の「優勝マジック」の用語の改善案(2021年度版)[2021/07/13公開]
「優勝マジック」を初心者がいかにExcelで計算しているのか(2021年度版)[2021/09/13公開]
2021年も初心者がパリーグのマジックが点いたり消えたりするのを図式化して追ってみた(2021/09/16~2021/10/27)[2021/09/16公開]
2021年も初心者がセリーグのマジックが点いたり消えたりするのを図式化して追ってみた(2021/09/26~2021/10/26)[2021/09/27公開]
「優勝マジック」を初心者がいかにExcelで計算しているのか(2023年8月13日阪神版)[2023/08/15公開]
2023年は初心者がセリーグのアレやCS進出をあれやこれやで追ってみた(2023/09/13~2023/10/04)[2023/09/14]
2023年は初心者がパリーグの優勝マジックやCS進出マジックを慌てて追ってみた(2023/09/19~10/10)[2023/09/20]
2024年は初心者がセリーグのアレじゃなかった優勝やCS進出を追ってみた(2024/09/17~10/06)[2024/09/17]
2024年も初心者がパリーグの優勝とCS進出をあわてて追ってみた(2024/09/22~10/01)[2024/09/23]
2025年も初心者がパリーグの優勝マジックとCS進出を追ってみた(2025/09/15~随時更新中)[2025/09/15]
2025年は初心者がセリーグがアレよアレよと阪神が最速(注)でアレとか言う間もなく優勝してしまったのであとはCS進出を追ってみた(2025/09/15~随時更新中)[2025/09/17]