緊急事態宣言発令中による営業について詳細へ

たった5分でエクセルのボウリング成績表を完成させる方法

EXCELVBA

ボウリングのリーグ戦の成績表をASで管理ではなく、エクセルで管理しているんですよね。

そして、毎週の成績スコアー入力をして、並べ替えして、ハイゲームなど探して、修正して、印刷してって、いつも面倒だと思っていたんですよね?

そして調べたらたまたま西船ボウルにたどり着いてしまったんでしょうね。きっと。

F支配人
F支配人

エクセルもちょっと工夫すれば、30人ぐらいのリーグ戦ならばスコアー入力するだけで、ボタン押せばたった1秒で自動集計して印刷まで完了できますよ。

おそらくネットで調べたら、並べ替えを例にとっても「学校の成績」とか「判定」とか、ボウリングに置き換えるにはちょっと工夫が必要で分かりずらくなかったですか?

リーグスタンディングをエクセルで作っているので、用語は全てボウリング用語になっているから、多少は分かりやすくなっていますよ、ここではね。

ボウリングリーグスタンディング
ボウリングリーグスタンディングMENU

こんな感じで試行錯誤ながらでも、エクセル自動化によりスタンディング作業時間が大幅に短縮されました。

スポンサーリンク

あ~これねって感じですか?それともなんだ?この画面?って反応かな?

これはエクセルの標準機能で「ユーザーフォーム」というオリジナル入力画面なんで、自由にカスタマイズできるのでボウリングリーグに合った形にできますよ。

F支配人
F支配人

これが最終系だと思ってください。画面の良し悪しやデザイン性は置いておいて!

ボウリングリーグスタンディングは、エクセル関数エクセルVBAの組み合わせでできていますので、両方マスターが必要ですよ!

エクセルVBA?なんじゃそりゃ!って思わなくても大丈夫です。エクセルVBAが使えると、操作が早くなるためのものです。

そもそも、ボウリングリーグ戦のスタンディングを作成する基本はやっぱりエクセル関数なので、いろいろ組み合わせてボウリングスコアーをエクセル自体に自動計算させることが第一歩です。

どんな素晴らしいオリジナル入力画面を作ったとしても、肝心の成績スコアー計算がしっかりできていなければ、全く役に立たないからまずはスコアーの計算式やエクセル関数を見直してみませんか?

目次

ボウリングリーグ戦スコアー表

エクセルでボウリング成績表を作るのに手順は同じかな?

  1. スコアー入力する選手を選ぶ(探す)
  2. スコアー(3ゲームまたは4ゲーム)とポイントを入力する
  3. リーグ参加人数分、1と2を繰り返す
  4. 全員入力終わったら開催週の成績表を表示する
  5. ポイント順やAVE順など決まっている順位順に並べ替える
  6. HGやHSを調べて該当する選手を探して記載する
  7. その他必要項目を探して記載する
  8. 印刷する

皆様のセンターも大体こんな感じじゃないですか?

これ全てエクセルVBA使わなくてもできますよね、というか、すでにやっていると思いますが、部分的にエクセル関数を見つけられなくて、自動計算化できていない箇所もあるかもしれませんね。

では、おさらいも含めて使えそうなところあったら参考にしてくださいね。

個人スコアー表
個人スコアー管理表

こんな感じのボウリングリーグスタンディングかな?そうじゃないかな?これは1人分で上から1週目、2週目となり、20週まで切り取りました。

この個人スコアー管理表で入力するのは、対戦P・先投げ・1G・2G・3G・4Gだけで、残りは全てエクセル関数を入れて自動計算させています。

もちろん、こんなのもう使っているよって場合は、スクロールして先に飛ばしてね。

3ゲーム合計(TOTAL)

スコアー管理表では(TOTAL)と表示してある列で、合計計算するSUM関数を使用しています。

SUM関数は()内の指定した範囲内のセルの値を足してくれるエクセル関数です。

エクセルSUM関数
SUM関数を使用

1G目~4G目までを範囲に指定しておけば、3ゲーム制でも4ゲーム制でもどちらでも対応できるので、このようにしています。

HDCP込み3ゲームトータル(T/H)

スコアー管理表では(T/H)と表示してある列で、ハンデキャップ込みの3ゲームトータルを自動計算する為で、ブラインド(BL)の時は空欄になるので、そのまま3ゲーム合計にHDCPを足してしまうと、BLなのにスコアーがHDCP分入ってしまうのを防ぐ必要があります。

そこで、空欄(BL)の時は「0」でそうでない時(スコアーが入っている時)はHDCP込みトータルを表示させなくてはいけませんね。

エクセル覚えたての頃の失敗例

=SUM(3ゲームの各セル番号)+HDCP

ハンデキャップ込み3ゲームトータル
IF関数とCOUNT関数の組み合わせ
現在使用中のエクセル関数

=IF(COUNT(3ゲームの各セル番号)=0,0,3ゲーム合計スコアのセル番号+HDCP)

IF関数は、もし「1G目~4G目のセルで入力されているセルの数」が0だったら、3ゲーム合計スコアにHDCPを加えるという条件に応じて処理を振り分けるエクセル関数です。

COUNT関数は、入力済みセルの数を数えるエクセル関数なので、BLの時は全て空欄なので0になります。

F支配人
F支配人

実際には個人スコアー管理表外にリーグ設定項目を作ってあるので、どこに個人AVEベースや、HDCP掛率・上限などを設定しています。

これが同じシート内にあるリーグ設定項目で、ここからHDCPを算出していますが、いろいろなルールによって変わるので、下記にまとめてあります。

多少セル番号が異なりますが、様々なエクセル関数の組み合わせ次第で対応できますよ。

あわせて読みたい
ハンデキャップ(HDCP)の計算式を作ろう それでは、一番面倒なHDCPの計算式を考えますが、リーグ戦のルールにより単純なものから複雑なもの、そして難解な計算をしなくてはいけないようなルールとたくさんのパ...

累計・累計/H

スクラッチトータルスコアーとHDCP込みトータルスコアーそれぞれの累計で、これはエクセル関数を使わず単純に「今週合計」と「先週合計」を足すだけです。

ボウリング累計スコアー
累計スコアー

ゲーム数(G数)

ゲーム数を記録する理由はAVEを自動計算させるためには絶対に必要になります。

先ほどの累計点数をゲーム数で割ればAVEが計算される為で、ここで使うエクセル関数は、先ほども使った入力されているセルの数を数えるCOUNT関数を使用します。

エクセル覚えたての頃の失敗例

3ゲーム制だからと言って手入力で3・6・9と入れたり、計算式で3の倍数を入れていたら、ブラインドでもゲーム数が増えるので対応できなかった。

ゲーム数を自動計算
ゲーム数を自動計算
現在使用中のエクセル関数

=COUNT(3ゲームの各セル番号)+先週のゲーム数

こうすることにより、BL時はスコアーが空欄なので対応できるのと、遅刻や早退があると1G目だけ空欄にも対応できるので、この方法で全リーグ対応させています。

AVE

アベレージ計算もゲーム数と同じCOUNT関数を使って自動計算させます。




よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!
目次