卓球ランキングポイント表計算入門(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を抽出できます。($記号をわざわざ入れている意味は、宿題として考えてみてください)