できるだけたくさんの人にメダルをあげたい

下の左側の表は、契約件数に基づいてランクを確定して1位から3位の人にメダルを授与するために作成されました。
が、同件数の人もいて、契約件数は3番目に多くとったにもかかわらず、メダルをもらえない人が発生してしまいます。
できるだけ多くの人にメダルを上げて、頑張りに報いたいやさしい営業所の所長が考えたのが、右側の表です。

送信者 OpenOffice
このサンプルファイルはSKYDRIVEから、calc119.odsをダウンロードしてください。

所長は、まず表を契約件数順に並べなおしました。
並べ替えは、並べ替える対象のE1からF11を選択してからOpenOfficeツールバーからデータ>並べ替えを選択して、最優先キーに契約件数を選び、降順に並べ替えることにしました。
そして、一番上(G2セル)に1と手で入力しました。
以下のG3セルには
=IF(F3=F2;G2;G2+1) を入力したのです。
もしもF3セルの成績がF2セルと同じならG2セルと同じランクを与える。そうでないなら、G2のランクに1を加える。
これによって、同順位の人が複数いた場合、これに続く順位を欠番にしてしまうことを防ぐことができました。



そして、H列では、G列に表示された順位に基づいて、CHOOSE関数を使って授与するメダルの種類を特定しました。
=IF(G2<=3;CHOOSE(G2;"金メダル";"銀メダル";"銅メダル");"")
これによって、左の表ではメダルの対象外だった人が二人、メダルを授与されることになりました。

元の表を並べ替えてランキングを作成するのは、日経PC21の2005年3月号90ページのエクセル用の記事を参考にしました。

けれど、並べ替えずに同順位の人が複数いた場合次の順位が欠番になることを防ぐ方法は、本当に無いかとずっと思っていました。見つけました。このファイルはcalc120.odsをダウンロードしてください。
並べ替えたくないときのための記事は、こちらです。

この記事をクリップ!