射会の成績をExcelで自動集計(その1)

ここ数年、各種射会や大会でExcelを使用して結果を集計する場面を目にすることが多くなりましたが、
有効に利用できていないケースが多く、まだまだ手書きの集計の方が便利で正確なのが実情です。
そこで、的中状況(○×)を入力するだけで的中数と順位を自動的に集計し、
順位表(成績上位一覧)まで自動的に表示するサンプルファイルが一般に公開されました。

1    概要

サンプルファイルの使用方法
1.事前に大会参加者の情報(所属、段位、氏名など)を成績表に入力しておきます
2.射会の進行に伴って的中状況(○×)を成績表に入力していきます

たったこれだけです。

これだけで、成績表に各参加者の的中数と暫定順位が自動的に表示され、
順位表(成績上位一覧)も自動で表示されます。
全員の射が終了するとそれが確定順位となります。

▼成績表 (射会中に的中状況を入力)
seiseki-hyo
予め名前などを入力  射会中○×を入力していく

▼順位表 {自動で表示されます)
kyudo-jun-i-hyo

この部分は自動で表示されます

使用環境 Windows Windows7以降を推奨
Excel Excel2003以降を推奨

サンプルファイルの仕様
成績表:参加者100名まで、一人10射まで対応
順位表:成績上位35位まで表示
いずれもそれ以上になる場合は表を拡張して使用してください。

サンプルファイルと簡単な説明書はこちらから無料で入手可能です。
射会の成績をExcelで自動集計(その1)DLmarket版

なお、アマゾンでも入手可能ですが、アマゾンの仕様により普通は有料で、
何かのプランで無料になるようです。

 

2    順位表示の仕組み

順位を表示するために使用している関数とその仕組みを簡単に解説しました。カスタマイズする場合や正しく表示しなくなった場合に修正する参考にして下さい。

(1)的中数の集計

手作業で的中数を数えるのと同じように、○の個数をカウントすることで簡単に実現できます。具体的にはCOUNTIF関数を使用します。

=COUNTIF(集計する範囲,”○”)

(2)順位の表示

これもやってみると意外に簡単です。RANK関数を使用し、順位を表示したい人の的中数が表示されたセルと全員の的中数が表示されたセルの範囲を指定するだけで済みます。

=RANK(順位を表示する人の的中数,全員の的中数のセル範囲)

この順位はすべての射が終わった時点で確定順位、それ以前は暫定順位となります。

 

(3)順位表の内容表示

これはちょっと難しいです。そのため、細かい説明は省略したいと思いますが、INDEX関数とMATCH関数を組み合わせて使います。

INDEX関数は指定した表の範囲から行と列を指定してそのデータを表示する関数で、 行と列は数字(または数字を表す関数)で指定する必要があります。

書式:INDEX(配列、行番号、列番号)

つまり、指定した表の左上から○行△列目のセルの内容を表示したい場合は次のようになります。

=INDEX(指定した表の範囲,○,△)

次に、MATCH関数を使用して指定した値と一致するセルの位置を調べます。たとえば、RANK関数で求めた一位の人のセルの場所(行)をMATCH関数で調べれば、INDEX関数に必要な○の数字を求められます。△の値は決まっているのでそれを入力するだけです。△の値を変えると、一位の人の氏名が表示されたり所属が表示されたりするので、ここまでくればあとは簡単です。二位以降も同じようにできます。

 

(4)やっておくと便利な設定

入力規制   ○と×、必要に応じて? 所属で都道府県名や支部名など決まった範囲から入力できるようにすると便利です。また、段位や称号も設定しておくと便利ですが、称号と段位を一緒にするとリストが長くなり過ぎるので分けた方が便利なことがあります。

表の罫線   Excelの表を使用していてデータをコピーしたとき、表の罫線が無くなったり、不要なところに罫線が現れたりした経験はありませんか? ちょっとした工夫でそれを防ぐことができます、ページの都合でここでは詳しく説明しませんが、例えば○×を入力するセルはすべて同じ設定にして端のセルだけに罫線を引かないことです。罫線を引きたければその隣の○×と関係ないセルで罫線を引くようにします。

ちなみに、サンプルファイルの表は一行ごとに色を変えてあるので、内容のコピー&ペーストには向いていません。見栄えをよくするためと、最近のExcelではその心配がないためこのような表になっています。

No Comments

Post a Comment