goo blog サービス終了のお知らせ 

我が闘争の日々

備忘録です。

リーグ戦の組み分けから順位表まで組んでみた。3

2013-10-25 10:13:47 | 日記


リーグ戦表は、対戦表に書き込まれた対戦結果を反映し、計算するためのもの。
降雨等による途中中断のケースもあるので、書き込む毎に順位が出るように組んでみる。
とりあえず、1つ表を作り込む。

チーム名は、組みわけ表から引いてくる。
次は、対戦部分に入れる数式。

「=IF(ISBLANK(対戦表!H16)," ",対戦表!E16)」

日本語にすると、「もし、対戦表の得点欄が空白だったら「空白(SPACE)」を、そうでなかったら、得点を代入。」という式。
「=」で単純代入すると、続く計算部がエラーで表示されてしまい、最終的に数字で埋まるまで答えが出ない。
なので、「” ”」(SPACE)を値挿入することで、途中計算を可能にしている。
対戦表に法則性がないのでコピー&ペーストは使えないので、ここだけは個別入力が必要になる。右上半分の15試合分を埋めたら、左下半分には、対応する部分に次の形で入れる。

「=IF(ISBLANK(G27)," ",G27)」

これも計15箇所。面倒だけど、個別入力。
上段下段併せて、6チームリーグだと、30箇所。
一番手間がかかる部分であるが、コレが終わると、後はコピペで済む。



次に、得点間の「-」の部分を勝敗によって、「○、×、△」に替える部分の式。

「=IF(I7=" ","-",IF(G7>I7,"○",IF(G7<I7,"×","△")))」

日本語にすると、「もし、右側が” ”だったら”-”、そうでなく右より左の得点が多かったら”○”、低かったら”×”、どちらでもなければ”△”。」IF文の入れ子。
勝ち負けのカウントを入れるのに、使用する。
これは、左右のセルしか参照しておらず単純コピペが出来るので、全30箇所をこの形で埋める。

左下半分は、入力順が逆になるので最初の選択文の参照位置が逆になるのだけど、試合結果の点数を片方だけ入れることはないので、気にしない。
それだと気持ち悪いからと、左下15箇所の式の参照部分を入れ替えるとこんな感じ。

「=IF(G7=" ","-",IF(G7>I7,"○",IF(G7
これで基本部分はお終い。次は、得失点の計算部分と順位出し。

最新の画像もっと見る