女子卓球レーティング

囲碁将棋などで有名な実力計算方式である"イロレーティング"を卓球に応用し、ITTFランキングでは測れない「実力」を試算しました。イロレーティングをもとに、トーナメントドローに応じたモンテカルロシミュレーションを加えた勝敗予想を提供します。さらにイロレーティングを超える「AIレーティング」を開発しています。

卓球ランキングポイント表計算入門(3) 〜順位表を作ろう〜

このブログでのポイント計算のための、表計算ソフトの使い方を、特集解説しています。使っているのはCalcですが、Excelでも同様です。

今回は、順位表を作ってみます。以下のようなやつですね。

1位 陳夢 16605
2位 丁寧 15380
3位 朱雨玲 14710
4位 王曼昱 14440
5位 劉詩文 13890
6位 石川佳純 13133
7位 孫穎莎 12915
8位 伊藤美誠 12710
9位 鄭怡静 12190
10位 平野美宇 12050

純化するために、これまでの連載と同様に、日本人上位3人で作ってみましょう。以下の表を得ることが目的です。

1位 石川佳純 13133
2位 伊藤美誠 12710
3位 平野美宇 12050

この表の要素である順位、選手名、ポイントは、既に前回までで得られています。そのため、今回は、関数HLOOKUPまたはVLOOKUPを使って既にあるデータを参照して値を抽出することを行います。HはHorizontal(水平)、VはVirtical(垂直)の略です。

目的の表を得るには、1位は誰でポイントはいくつか、2位は誰でポイントはいくつか、・・という抽出が必要です。前回の表(非表示行を元に戻しました)で、1位、2位、・・は、セルC33:H33の範囲に記載されていますね。

  A B C D E F G H
1     石川佳純 伊藤美誠 平野美宇
2     成績 ポイント 成績 ポイント 成績 ポイント
32                
33 ランキングポイント 過去1年間上位8大会など 1位 13133 2位 12710 3位 12050
34       13133   12710   12050

このセルC33:H33は水平に広がっていますので、HLOOKUPを使います。書式は、

=HLOOKUP(検索値, 範囲, 指定行, 0)

となります。範囲の先頭行を検索して、検索値と一致した列の指定行番目の値を抽出します。最後に0を指定しないと、範囲の先頭行の値が順番に並んでいる必要がありますので、基本的には最後は0を指定しましょう。例えば、

=HLOOKUP(2, C33:H34, 2, 0)

とすると、検索値2がセルE33で一致(表示は2位ですが、書式設定を操作したためで、実態は2でした)し、その列(E列)の範囲内2行目である、セルE34の値(空白)を抽出します。また、

=HLOOKUP(12710, C33:H34, 2, 0)

とすると、検索値12710がセルF33で一致し、その列(F列)の範囲内2行目である、セルF34の値(12710)を抽出します。検索値が一致しない場合はエラーとなります。

やりたいことは、検索値2(位)に対して、伊藤美誠という文字列と、12710という値を抽出することですが、2に一致する列(E列)のさらに範囲先頭行よりも下にそのような値はありませんので、このままでは目的を達成できません。どうしましょうか?

ここまでの連載を地道に読んだ方ならわかると思います。そうです。最後に非表示にするつもりで途中計算をするための行や列を作るのですね。具体的には元の表を加工して、以下のようにします。

  A B C D E F G H
1     石川佳純 伊藤美誠 平野美宇
2     成績 ポイント 成績 ポイント 成績 ポイント
               
33 ランキングポイント 過去1年間上位8大会など 1位 13133 2位 12710 3位 12050
34       13133   12710   12050
35     石川佳純   伊藤美誠   平野美宇  
36     13133   12710   12050  

例えば、セルC35に=C1、セルC36に=D33などと書き、コピーペーストの技を使えば、元の表を簡単に拡張できます。こうすれば、狙い通り、E列の2(位)より下に、伊藤美誠と12710がある状態になります。

ここまでくれば、目的の表はすぐ作れます。完成した姿は以下です。

  A B C D E F G H
1     石川佳純 伊藤美誠 平野美宇
2     成績 ポイント 成績 ポイント 成績 ポイント
32                
33 ランキングポイント 過去1年間上位8大会など 1位 13133 2位 12710 3位 12050
34       13133   12710   12050
35     石川佳純   伊藤美誠   平野美宇  
36     13133   12710   12050  
37                
38 1位 石川佳純 13133          
39 2位 伊藤美誠 12710          
40 3位 平野美宇 12050          

セルA38〜A40は書式設定により、実体は1、2、3の数値が入っています。これで、例えば、セルB38に、

=HLOOKUP($A38,$C$33:$H$36,3,0)

セルC38に、

=HLOOKUP($A38,$C$33:$H$36,4,0)

と書くことで、それぞれ、石川佳純、13133を抽出できます。($記号をわざわざ入れている意味は、宿題として考えてみてください)