- ベストアンサー
EXCELで関数を用いて細かく順位付けするには
EXCELで順位表を作成しています。 2つの項目で点数をつけ、合計点で順位をつけていますが(RANK関数)、 同点になった場合はスポーツの成績表のように 順位が同じ人が何人も出てしまいます。(12位が3人いたら次は15位という意味です) 2つの項目を"学科"・"実技"だとして、合計点で一旦順位を出し 最終的には"学科"の成績を優先し細かく順位をつけたいと思っています。 その際全体の中からCOUNTIF関数で同点の人が複数いるケース(結果が1にならないケース)を検索しても、 その同点グループの範囲を表す事が出来ないので、その中で優越をつける事も出来ません。 一致した範囲を目で見ながら手入力してRANK関数で順位をつけることは出来ますが、 出来れば自動で出来ればなと思います。 説明がわかりにくいかとは思いますが、ご指導頂けると幸いです。よろしくお願い致します。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
要するに、合計点が同じ場合には学科の点数が高い方に先の順位を 付けたいと。 合計点に、学科の得点の1/1000くらいを加算してやります。そのく らいなら元々の順位に影響しませんし、小数点以下を表示しないよ うにしとけば見た目もおかしくないでしょう。 学科の得点まで同じだったら諦めて下さい。
その他の回答 (1)
- ASIMOV
- ベストアンサー率41% (982/2351)
1案です 学科を優先する場合 A1=学科の点数 B1=実技の点数とします C1を合計点にするんですが、式はつぎのようにします C1=A1+B1+A1/(A1+B1) 整数部分は、合計点ですが、少数部に学科の割合が入ります で、C列をRANKで順位を付ければ学科の点数の大きい順番になります
お礼
出来ました! 今まで合計点と学科の点数を指定して成績順になるよう並べ替えたりしてたんですが 順位の変動がないよう少数にして足すなんて考えが及びませんでした((+_+)) 式や手順まで書いていただいてとてもわかりやすかったです。 ありがとうございました。
お礼
出来ました! 合計点が同じグループを探してなんとか関数に組み込もうと頭でっかちになってました。 合計点と順位の列の間に学科分を考慮した列を作って非表示に…と思いましたが そもそも合計点列の小数点の表示桁数をずらせばいいんですね。 結果が全く同じ場合は優越をつける必要はありませんのでこれでバッチリです。 ありがとうございました。