人数に応じてボウリングリーグ対戦表を自動選択する方法

リーグ対戦表自動判別

[affi id=20]

目次

エクセルでボウリングリーグスケジュール管理

ボウリングのリーグ戦もスケジュール表に(対戦表)を使って、毎回リーグ対戦をおこないますが、エクセルで管理している場合は下記のようにエクセルで表を作っていませんか?

ボウリングリーグ対戦表8名
※最終の8回戦目(8週目)はポジションになるので空欄にしています。
波乗りアヒル

実際に使っているリーグ成績表エクセルでは、ポジションには成績表から自動的に対戦番号が反映されるように設定して、レコードシートを印刷できるようにしてますが、ここでは省略します。

たまたま、参加人数8名(チーム)でのボウリングスケジュール対戦表を例として挙げましたが、このリーグ戦が必ず8名で次回も開催するとは限らないですよね。

勧誘努力をして参加人数10名のボウリングリーグ戦になったら売上アップしますが、ケガや病気などで引退されてしまい6名になってしまう事もあります。

例えば、10名に増えて喜んでばかりいられませんので慌ててボウリングリーグスケジュール対戦表を調べて、8名から10名に変更してレコードシートを作り直さなければいけませんよね。

ボウリングリーグ10名対戦表
ボウリングリーグ10名対戦表

当たり前ですけど人数が違うので使用するリーグスケジュール対戦表もこのように異なりますので、次週リーグスタートまでにエクセルの入力や数式を修正して完成させていますよね。

まさか!

レコードシートの名前やHDCPまで毎回手書きなんて事は無いと思いますので、リーグスケジュール対戦表見ながら、参加選手名に書き換えていたりしていませんか?

波乗りアヒル

そんな無駄な作業は単純に時間のロス!作業効率悪すぎるので、自動変換できるようにエクセルにひと工夫しましょう。

ボウリングリーグスケジュール対戦表の数字を名前に自動変換する方法は下記に書いてあるので、ここでは省略します。

あわせて読みたい
ボウリングリーグ対戦表の数字を名前に自動変換する方法 エクセルって色々なことできますが、頭から煙が出そうになること毎日です。 ボウリングのリーグ戦でのスケジュール表(対戦表)を使って、毎回リーグ対戦を行いますよね...

ここでやりたいことは・・・

参加選手の名前をメンバー表に登録すると自動的に人数を集計して、参加人数に応じて使うボウリングリーグスケジュール対戦表を選んで、レコードシートを印刷できるようにします。

エクセルで人数に応じてボウリングリーグ対戦表を自動選択を作る

ボウリングリーグスケジュール対戦表を用意する

このページの最後に4名~32名までの(一部除く)ボウリングリーグスケジュール対戦表をエクセルにコピペできるように準備していますので、利用してくださいね。

では、まず始めにボウリングリーグスケジュール表を全てをエクセルに用意する必要はありません。

ここでは、現状8名のボウリングリーグ戦開催中ならば、増えた場合の10名と減った場合6名の3つを用意して参加人数が、おばけを含む5名~10名まで対応できるようにします。

5名・7名・9名の場合は、おばけチーム入れて対戦できるように偶数にします。

8名用と10名用の画像は既に表示したので、ここでは残りの6名用を表示します。

ボウリングリーグ6名対戦表
ボウリングリーグ6名対戦表

まあ、用意すると言ってもエクセルのどこに?ってなると思うので、実際には下記のように3つのボウリングリーグスケジュール対戦表が並んでいるんです。

セル列番号があるので、分かりやすいかな?当然1行目からです。

6名リーグ対戦表
セルM1には6名用を示す
8名用リーグ対戦表
セルV1には8名用を示す
ボウリングリーグ対戦表付け加え
セルAE1には10名を示す

各人数のボウリングリーグスケジュール対戦表の上部に(2行目)には回戦数に応じて対戦表の中から数字を取り出すようになっています。

ちなみに10名用のセルAG2は「7」になっていますが、同じ列に「7」は6行目にありますので、これは2回戦目の対戦表を取り出した状態なのです。

当たり前ですが、1回戦目は「1」ですから登録番号1番の選手となり、2回戦目は3番目の位置に移動しています。

更に言い換えると「1-2」「3-4」・・・がレーン番号なので、登録番号1番目の選手は1回戦目が1番レーン、2回戦目は3番レーン、3回戦目は6番レーンとなります。

波乗りアヒル

10名用と同じように6名用も8名用も作ってあり、回戦数(週数)を入力すると自動的にボウリングリーグスケジュール対戦表から、該当する回戦数と同じ行の登録番号を2行目に表示する方法は、VLOOKUP関数を使用します。

あわせて読みたい
表の中からデータ検索して指定した値を見つけるVLOOKUP関数 [temp id=6] VLOOKUP関数をマスターするって必要? 表の中から特定の値を指定してデータ検索する事ってよくありませんか? 見つけたセルの2列右の値とか。 ボウリングで...

エクセル関数のVLOOKUP関数を使ってそれぞれのボウリングリーグスケジュール対戦表の準備が整ったら、参加人数に応じてボウリングリーグスケジュール対戦表を3つの中から選ぶ自動判別させる作業に入りましょう。

参加人数に応じて対戦表を自動判別

単純に参加者6名の時は6名用のリーグ対戦表を、8名の時は8名用の10名の時は10名用のリーグ対戦表と、3種類のリーグ対戦表を自動選択させるだけです。

まずは単純な自動判別させるための簡単な表を用意します。

対戦表判別表

上の図で、セルC1が6名・D1が8名・E1が10名を数字で表し、2行目のセルC2に「1」、D2に「2」、E2に「3」で表す識別番号にしています。

これにより、参加者6名の時は「1」、8名の時は「2」、10名の時は「3」と自動判別させます。

識別番号とは、勝手に読んでいるのですが、1番目の表、2番目の表、3番目の表と、後からでもわかるようにするためです。

これで参加人数をセルA2に入力すると、自動的に使用する対戦表をセルB2に判別して表示します。

では、自動判別させる為のエクセル関数を設定しましょう。

設定するのはセルB2です。

エクセル関数

=HLOOKUP(A2,C1:E2,2,0)

検査値は参加人数合計のセルA2、範囲は上記画像の範囲C1~E2、列番号は2列目の2、検索方法は完全一致の0です。

これで、セルB2には参加人数により使うべき対戦表は何番目の表なのかを自動判別させることができます。

参加人数の入力セルには、自分で数えて入力でも構いませんが、参加者の人数を自動集計させた方が楽ですよ!

回戦数を入力すると判別された対戦表から自動的に数字を取得

次は先ほど使うべき対戦表を判別したので、その対戦表から回戦数により、数字を取り出す作業を設定します。

リーグ対戦表自動判別2

エクセル関数を設定るのは、セルB13~K13です。

セルA13に回戦数を入力すると、自動的にセルB2で判別された対戦表から対戦番号を取得させます。

波乗りアヒル

使う関数はCHOOSE関数ですが、CHOOSE関数の説明は省略します。

セルの値により複数の答えを探すエクセル関数

あわせて読みたい
IF関数よりも便利なセルの値から複数の答えを取得するCHOOSE関数 もし~だったら、そうでなかったらができるIF関数ですが、何度も繰り返し使うのは面倒なので簡単にできないかと思いませんか? CHOOSE関数を使えば、指定したセルの値が...

セル B13には、このようなエクセル関数が入っていて、識別番号により、取り出す数字が変わるようになっています。

=CHOOSE($B$2,O2,X2,AI2)

セルB2の識別番号が「3」なので、対戦表10名用の1回戦目が取得されて表示されたという事ですね。

それに応じて、セルA15~K20の各項目が反映されて完成しました。

この出来上がった自動変換ごの各セルをレコードシートにリンクすれば、わざわざ書かなくても回線数のみの入力でレコードシートも完成するので、作業効率化と時間短縮になりますよね。

ボウリング人数別リーグスケジュール表

サンプルとして、リーグ参加人数が6名・8名・10名(6チーム・8チーム・10チーム)から、自動判別できるようにしましたが、この元となるリーグスケジュール表って意外と手元にないものですよね。

わざわざボウリングコンピューターから出力するのも面倒なので、ここに保存しておけば簡単に見られますね。

ちなみに使っていない人数でのリーグスケジュール表は記載していないのと、空欄の対戦は中間ポジションや最終ポジションマッチなので、成績表から自動取得になっています。

では次のページにボウリングスケジュール表を人数別にまとめていますので、コピペしてエクセルに張り付けて使う事もできますよ。

1 2 3 4 5

2024年5月11日からマイルと楽天ポイントとの相互交換提携開始!

交換レート0.5:1なので半分になってしまいますが、使い方次第で実質3倍の価値まで引き上げられる方法です。

目次