スポンサーリンク


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

エクセルで作るボウリング成績表

男女別HDCPや従業員やプロなどを判別して成績表作成

ボウリング場でリーグ戦の成績表をエクセルで作っていて、リーグ参加者全員がお客様であれば問題がないのですが、どうしても半端になって従業員が一緒に参加するリーグ戦があります。

またプロが参加しているリーグなど。

成績表でハイゲーム(HG)やハイシリーズ(HS)が常にお客様であればいいのですが、どうしても、プロや従業員がトップになっちゃうことがります。

プロや従業員でもいいじゃん!
F支配人
表彰の関係でダメです!
1位じゃなければいいの?

2位じゃダメなんですか?

2位じゃダメなんですか??

なんか懐かしいフレーズ!

F支配人
なんか話が脱線しているので戻します!

プロや従業員を成績表から除外してお客様のトップを表示したい場合ってありませんか?

CHOOSE関数を知らなかった当時は、対処方法を知らなかったのでハイゲームやハイシリーズのセルには数式を入れないで、成績表から探して入力していました。

その為に間違ってしまったり、入力忘れて先週のままになっていたりして、お客様に渡した後に指摘されることがよくありました。

確認不足です!しっかりしなさい!

毎回複数のリーグ戦の成績表を作っては探して入力する事が、すごく時間のムダに思えて作業効率も悪く感じてきたので、何か対策はないかと思い、IF関数で対応していました。

もちろんこのIF関数でも対応できましたが、数式が長い。

IF関数の数式をイメージで記載すると、下記のようになりますね。

「もし(選手①が男性ならば1、そうでなければ、もし(選手①が女性ならば2、そうでなければ、もし(選手①が従業員ならば3、そうでなければ、もし(選手①がプロならば4、そうでなければ、もし(選手①がおばけならば5、そうでなければ、未登録】))))」

こんな感じかな。

あとで数式をチェックする時に長すぎてイライラしてきましたね。

修正も大変でした。

イメージの言葉で書いてこんだけ長いので実際の数式に直すともっと大変。

この数式をセルに毎回打ち込むのも大変。

それでもこの数式を数年頑張って使ってました。

F支配人
CHOOSE関数というものを見つけた!

CHOOSE関数を使えるようになると、男女別HGなどに限らず、HDCPも男女別に設定も可能になるし、プロボウラーにはHDCPなしまで対応できました。

さらに、リーグスケジュールやレコードシートまで対応可能になり、大事なエクセル関数ですね。
スポンサーリンク

CHOOSE関数

エクセルの本やネットで調べたはずなのになんで見つからなかったのかわからないのですが、CHOOSE関数を理解した今では簡単に探せました。

探し方が悪いんじゃない?
おそらくボウリング用語で検索したことが検索結果に出てこないでIF関数やOR関数が表示されたのでしょうね。

もう少しエクセルの知識があれば、インデックスとか、引数という単語で検索することができて、CHOOSE関数を見つけることができたかな。

へぇ~!言ってる意味が全然分からない!

では、下の図は、上限HDCPや男女別HDCPや3週目まで固定HDCPまで対応可能にする7種類のHDCPのつけ方ができるようになる「ハンデキャップのつけ方」というページでリーグの種類に応じて様々なHDCPのエクセル関数の組み合わせで数式を作ったものを紹介しているので、この図の説明は省略します。興味があったらぜひご覧くださいませ。

ボウリングハンデキャップのつけ方

2018.06.02
エクセル数式でHDCP

エクセル関数CHOOSEで性別判断する

HDCPのページで参考にした図に、CHOOSE関数を実際に使うために項目を追加しました。

まず、性別の欄(C列)は日本語から数字に変えました。そして男性は「1」・女性「2」・従業員「3」・プロ「4」に置き換え。

そうすると、数式が書きやすくなります。

では、HDCPのページで使っていた数式で男女のみの判別でした。項目が加わっているのでHDCPのページと行が変わっています。

=MAX(MIN(IF(C6=”男性”,($B$3-INT(H6))*$D$3,($B$3-INT(H6))*$E$3),$C$3),0)

これに従業員とプロを加えてくと、CHOOSE関数をボウリング風に書くと・・・

市川さんの性別が男性の場合は90%、女性の場合は100%、従業員の場合は80%、プロの場合は0 となります。

=CHOOSE(市川さんの性別、男性、女性、従業員、プロ)になります。

CHOOSE関数を使って数式に置き換えると・・・

=CHOOSE(C6,($B$3-INT(H6))*$D$3,($B$3-INT(H6))*$E$3,($B$3-INT(H6))*$F$3,$G$3))
これで、男性・女性・従業員・プロの判別が可能になり、HDCPがそれぞれ設定可能になりました。

今回は4種類から選ぶ形になってますが、CHOOSE関数は254種類まで可能で、西船ボウルで使っているのは、リーグスケジュールでレーンの割り振り(リーグ対戦表)で最大18レーンなので18種類までは使っています。

成績表でプロがHGトップは困るよね

このケースもたびたびリーグ成績表ではありますが、HGトップがプロボウラーでは困りますよね。お客様のスコアーを優先してリーグ成績表は作りますからね。そんな時も、このCHOOSE関数を使って性別判断して振り分けてしまえば簡単です。

CHOOSE関数

M列とN列にCHOOSE関数を入れて振り分けします

男性HG(M列)と女性HG(N列)に用意して、従業員とプロは除外できるようにします。ボウリング風に書くと、

M列には…市川さんの性別が男性の場合、1G・2G・3Gの中からハイゲーム、女性の場合0、従業員の場合0、プロの場合0となってます。

N列には…市川さんの性別が男性の場合、0、女性の場合1G・2G・3Gの中からハイゲーム、従業員の場合0、プロの場合0となってます。

これで男性ならば、M列にHGが表示されて女性ならばN列に表示されます。従業員とプロは0で表示されますので、除外完了です。

CHOOSE関数を使って数式に置き換えると・・・

M列には…=CHOOSE(C6,MAX(D6:F6),0,0,0)

N列には…=CHOOSE(C6,0,MAX(D6:F6),0,0)

この要領で、HSなどに当然使えますので便利です。

その他、リーグ対戦表やレコードシート作成に関しては、また別の機会に書き足します。

ボウリングハンデキャップのつけ方

2018.06.02

DGET関数でシート地獄から解放する

2018.05.31

エクセルで作るボウリング成績表

2017.09.30

スポンサーリンク


24時間以降~180日後までボウリングもネットで簡単ご予約ができます。
もちろん空き状況も15分単位で確認できます。

また、GW期間中もネットでボウリング予約が可能です。