シートmで入力された内容に基づき、シートc1,c2で計算を行っている。
シートc1では昇級確率、シートc2では降級確率を計算している。
以下ではシートc1,c2での処理内容を順に説明する。
多くの部分で処理内容が共通しているので、特にことわらない限り、シートc1,c2共通の処理である。また、B級1組以外では正確に言うと「降級」ではなく「降級点」が正しい表現ということになるが、ここでは全て「降級」で統一している。
なお、「順位」という言葉がリーグ開始時のものか、リーグ戦の結果決まるものかがわかりにくいので、後者については「当期順位」と明示することで混乱を避けている。
・A列~O列 勝敗パターン
15局の勝敗パターン(2^15通り)を列挙するための列である。
0~32767までの数値を2進数展開した値である。
各セルで「0」は2行目、「1」は3行目の棋士の勝利を意味する。
注意すべき点は、ここに名前をセットするのは、シートc1の方では昇級可能性のある棋士(シートmの昇級の欄に名前のある棋士)だけ、シートc2では降級可能性のある棋士だけである。
(実はここで対象外の棋士名があると計算結果に異常が生じるのはシートc2の降級確率の方だけであるが、間違いが無いように両方とも対象となる棋士に限定して名前をセットしている。)
・P列~AD列 各対局ごとの発生確率
勝敗パターンに応じて発生確率をセットする。
対象となる対局が15局未満の時には「100%」をセットする。
・AE列 発生確率
Product関数を使って各対局ごとの発生確率を掛け合わせ、この勝敗パターンの発生確率を求める。
・AF列~AT列 各対局ごとの勝者
各セルで勝敗パターンが「0」なら2行目、「1」なら3行目の棋士の名前をセットする。
・AU列~BD列 順位点込みの勝数
順位点は、リーグの順位に応じて次の計算式で計算した値を各棋士に付与している。
順位点=(リーグ戦の人数-順位)/リーグ戦の人数
「順位点」とシートmの「(X回戦までの)勝数」を加えた値が4行目にセットされている。
Xの値は対象となるリーグ毎に異なる。
「X回戦以降の勝数」は各行ごとにAF列~AT列にある「各対局ごとの勝者」に当該棋士の名前が出てくる件数となる。
ここではその「X回戦以降の勝数」と「順位点」とシートmの「(X回戦までの)勝数」を加えた値を「順位点込みの勝数」としている。
◆対象となる人数により列数が変わるので、この項以降は列が一定しない。
・当期順位
rank関数を使って、順位点込みの勝数に基づき当期順位を導き出す。
なお、シートc2の方では、正確には「降級可能性のある棋士の中での当期順位」となる。しかし、最下位を始めとする降級圏内に入る可能性のあるのは「降級可能性のある棋士」だけであるから、ここでの当期順位が最下位の棋士は必ず全体でも当期順位が最下位になる。なお、このことは再開だけでなく、降級圏内の当期順位については同様のことが言える。
・当期順位発生確率
上記の過程で得られた「当期順位」に基づき、「当期順位発生確率」をセットする。
sumif関数を使い、当該棋士が昇級圏内であるそれぞれの順位の時の「発生確率」を合計した値がセットされる。
シートc2については上記「当期順位」が最下位のものから逆順で降級人数分について、同様の処理を行っている。
◆B級1組については、昇級・降級ともに2名ずつであり、昇級者・降級者の組み合わせ数が限定されることから、組み合わせの発生確率についても求めている。
なお、読んでもらえればわかる通り、あまりスマートなやり方ではなく改良の余地がある。
まずシートc1の方から説明する。
・上位2名組合せ
上記「当期順位」の列のデータを使って1位・2位の棋士を特定する。順位戦B級1組では同率ということは起こり得ないので、それぞれ一意に決まる。
「1」とある列には1位の棋士について上記「当期順位」の列の2行目にセットされている番号、「2」とある列には2位の棋士について番号がセットされている。
「1+2」とある列には、
「1」の番号×10+「2」の番号
という式で求めた値がセットされている。これが上位2名の組み合わせのパターンを示す。
・上位2名組合せ発生確率
「上位2名組合せ」で得られたパターンとAE列の発生確率からパターンごとの発生確率の総和をsumif関数を用いて得る。
シートc2も考え方は同じであるが、一部違いがあるので留意する必要がある。
・下位2名組合せ
上記「当期順位」の列のデータを使って最下位から2名の棋士を特定する。順位戦B級1組では同率ということは起こり得ないので、それぞれ一意に決まる。
ここで上位の場合と異なり降級可能性のある棋士数により調整する必要がある。
具体的には降級可能性がある棋士が6名ならば、4行目に「5」「6」をセットする。ここでの「5」「6」は降級可能性がある棋士の中での当期順位である。以下、この例に基づき解説する。
「5」とある列には5位の棋士について上記「当期順位」の列の2行目にセットされている番号、「6」とある列には6位の棋士について番号がセットされている。
「5+6」とある列には、
「5」の番号×10+「6」の番号
という式で求めた値がセットされている。これが下位2名の組み合わせのパターンを示す。
・下位2名組合せ発生確率
「下位2名組合せ」で得られたパターンとAE列の発生確率からパターンごとの発生確率の総和をsumif関数を用いて得る。
最終更新:2010年01月04日 10:33