- ベストアンサー
Excelで順位をつけたい
お世話になります。よろしくお願いいたします。 エクセルでの順位の付け方です。 例えば、 国語、数学の2教科のテストの結果で順位をつけるとします。 列A 列B 列C 列D 行1 国語 数学 合計点 行2 A君 40 60 100 行3 B君 50 50 100 行4 C君 60 40 100 上記のような結果の時に普通に「RANK」を使うと、3人全員が「一位」になりますが、 合計点が同じ場合は、国語の点数が良い者から、「一位・二位・三位」になるようにしたいのです。 したがって、C君が「一位」・B君が「二位」・A君が「三位」になるようにするには、 どのようにすればよろしいですか?お教えください。
- みんなの回答 (7)
- 専門家の回答
質問者が選んだベストアンサー
ごめんなさい ミスがありました No5さんのように =value(text(D2,"000",)&text(B2,"000")) としなければ、点数によっては順位が狂ってしまいます。 よろしくお願いします
その他の回答 (6)
- imogasi
- ベストアンサー率27% (4737/17069)
E列のE1に=D1+B1*0.01を入れ、下に複写する。 F列のF1に=RANK(E1,$E$1:$E$4)を入れ、下に複写する。 考え方は#4のご回答と似ていますが、B列だけを、D列の下位に位置付けるため、B列の点数が1.0の位に出てこないように、1/100=0.01を掛けて、D列に足しています。
- comv
- ベストアンサー率52% (322/612)
こんにちは 各教科点数及び合計点が最大3桁の場合 列A 列B 列C 列D 列E 行1 国語 数学 合計点 行2 A君 40 60 100 式 行3 B君 50 50 100 ↓ 行4 C君 60 40 100 ↓ セルE2(空き列)に式 =(D2&TEXT(B2,"000")&TEXT(C2,"000"))*1 とすればRANKの比較値が 1004060 1005050 1006040 となります。
- maruru01
- ベストアンサー率51% (1179/2272)
こんにちは。maruru01です。 かなり小手先の方法です。 まず、D列の合計でA君のところ(D2)に、 「=B2+C2」 と入っていると思いますが、これを、 「=B2*1.001+C2」 に変更します。B君、C君も同様です。(コピーすればいいでしょう。) こうすると、合計が、 「100.04」 となると思いますので、セルの書式設定の表示形式で、「数値」、「小数点以下の桁数0」にします。 これで、表示上は、 「100」 になったと思います。 これで、例えばE列を順位とすると、E2に、 「=RANK(D2,$D$2:$D$4)」 として、コピーすれば、希望通りになると思います。 つまり、国語の点にちょっとだけ重みをつけるわけです。
- tomo0524
- ベストアンサー率43% (13/30)
例えばE列に作業用セルをつくって、 =value(D2&B2)として、 E列の順位を求めるのはどうでしょうか? 作業用セルは目立たないところに入力するか、 E列の数字を見せたくない場合は、セルの書式設定をユーザー設定で;(半角で)にすると表示されません
お礼
出来ました!!ありがとうございました。 『VALUE』という関数を初めて使いました。 賢くなりました。 あと、『;(半角で)』 にすると表示されなくなるのですね。これも初めて使いました。 (何故、表示されなくなるのか、全く理解できませんが・・・便利そうですね。) いろいろな新しい技を伝授していただきありがとうございました。
- tomtop
- ベストアンサー率46% (29/62)
全てのセルをクリック→ データ→並べ替え→ データーにチェック→ 最優先されるキー「列D」、2番目に優先されるキー「列B」、3番目に優先されるキー「列C」→ OKで出来ます。
お礼
早々の回答ありがとうございます。 誠に申し訳ございませんが、 #1さんに回答したとおり、私の説明不足でした。 お手数をお掛けしました。
- gramin
- ベストアンサー率36% (51/138)
「データ」→「並べ替え」で、最優先されるキーに「列D」、2番目のキーに「列B」でソートして連番をつけたのではいかがでしょう。
お礼
早々の回答ありがとうございます。 折角、回答をいただいたのですが、 私の説明不足でした。 並び替え(ソート)を使わずに出来ないものでしょうか?
お礼
なるほど。こういう方法もあるのですね。 物事を考えるときに、ちょっと違う角度から考えてみるということが大切ですね。 お世話になりました。ありがとうございました。