エクセル自動化用の初期設定をつくろう
エクセルでリーグのスタンディングを作るのに必要なのがいくつかあり、参加選手登録・スケジュール・ルール設定・対戦表がすぐに思いつきますよね。
あとはエクセルで作るリーグ成績表を、自動化させるための設定項目を追加してあげれば、設定項目はひと通り終わります。
エクセル自動化の為に様々な設定をつくる
まずは、この画像の中に成績表印刷・レコードシート印刷・性別設定・参加人数・登録選手データ・リーグルール設定があります。
ちなみに使用している列はW列~HE列まで使用していますので、ざっくり200列ぐらいで、行は1550行ぐらいまで使用しています。
そんなに広い範囲スクロールするなんて移動面倒だよ~
最初に言った通りエクセル自動化するので、ボタンひとつで行きたいところへ一瞬でジャンプして移動するから大丈夫ですよ。
だからシートが「MENU」と「レコードシート」と「成績表」の3つしかないんだ~。
エクセルも軽くてサクサク動くからいいよね。
リーグルール設定
では最初に画面の右側のリーグルール設定をしますが、この設定の数字を変えれば、成績表もレコードシートも全て反映されるようにすることにより、数式を変えることなく再計算できます。
- 使用レーンを指定することによりレコードシートのレーン番号に反映させる為で、人数が変わり使用するレーンが変われば自動的にレコードシートも変わるようにします。
- リーグ名と開始日も成績表とレコードシートに反映させます。
- ゲーム数は3と4に対応しています
- 上限HDCP指定により計算式によりこれ以上のHDCPは付与しなくなります。
- 個人ベースと掛率はHDCP算出時の元データになります。
選手登録
リーグ参加する選手を登録しますので、選手登録フォームを使って会員番号・名前・AVEを入力し、性別はオプションボタンにて選択すると、自動的に数字に置き換えられて登録されます。
HDCPはリーグルール設定の値により計算式で表示されます。
印刷設定
印刷を必要とするのは「成績一覧表」「レコードシート」の2つですが、成績表が3週目ならば、レコードシートは4週目になりますよね。
その為に、成績表の回戦数を入れると自動的に翌週のレコードシートに日付と回戦数で印刷できるようにしています。
リーグの回戦と日付は、リーグ開始日より毎週1回(7日後)で計算されて表示しますが、祝日などで1週休みの時は14日後なので、修正欄に「7」と入れると7+7=14となり14日後になります。
このリーグ日程の表をデータベースとして、DGET関数を使って成績一覧表やレコードシートの回戦数と日付を取り出しています。
画像ではセルAO1に「5」となっているので、ここが検査値になって5週目の回戦数と日付が反映しています。
もう一つのBOX印刷設定は、参加人数から必要なBOX数を照らし合わせてレコードシートの印刷開始ページと終了ページを計算して表示していますので、ここを参照して自動的に印刷ページが指定されていますので、わざわざ印刷時に入力する必要がないのです。
リーグ対戦表
ボウリングのリーグ戦では、リーグ対戦表に基づいてレーンを移動しながらの総当たり戦を行いますので、参加人数に応じた対戦表が存在します。
そこで、参加人数をCOUNT関数で自動的に計算してセル「X17」に表示し、この値で使用する対戦表を選択して、番号と選手を見つけ出してレコードシートに反映させる仕組みです。
この対戦表を複数準備しているのでシートの列番号がH列まで使用しているって事なんです。
最終10週目はポジションマッチも数式を使って、成績表から順位順に選手を割り当ててレコードシートに自動表示・印刷もできますよ。
対戦表も参加人数から自動的に選ぶようになっているので、何か作業を行う事もありません。
選手登録さえすれば、エクセル自体が計算してくれるからです。
設定が終わったら、リーグ初日までに参加選手を登録しておくと、あとは初日のレーン抽選を待つだけ。
レーン抽選フォームに抽選番号を選手ごとに入力すれば、自動的に登録順から抽選順に並べ替えられて、1週目のレコードシートの印刷完了!
至れり尽くせりですねえ~。
早く作り方覚えなきゃね~
レーン抽選フォームの作り方(作成中)
次は選手個人のスコアーを記録する「個人カード」を作ろう!
エクセルで作るリーグスタンディングへ戻って続きを見ましょうね