エクセルで、ランク関数を使って順位をつけると、同点の人は同順位になってしまいますよね。

条件を増やして(点と年令などで)同順位の人が無くなるようにしたいのですが、良い方法を教えてください。

エクセル以外での方法でも結構です。

A 回答 (2件)

こんにちは



点と年齢であれば
空いてる列に =点×100+年齢 のようにして
それをRANK()で処理すればOKかと思います

1.降順)点数が多く年齢の高い人が上位
  昇順)点数が少なくて年齢が低い人が上位
  =点×100+年齢

2.降順)点数が多く年齢の低い人が上位
  昇順)点数が少なくて年齢が高い人が上位
  =点×100+(100-年齢)

★100歳以上の人も(^^;含まれるなら
 ×100 → ×1000
 100- → 200- 
 ですね!
    • good
    • 0
この回答へのお礼

なるほど~。 そういう方法があるのですね!

目からウロコです。こういうアイデアがでないからきっと数学が苦手なんですね・・・。

ご回答いただきましてありがとうございました。

お礼日時:2001/08/24 14:52

何かの競技のときの点数でしょうか?


私の会社などでは、同点時は社員番号順です。

ほかには、名前順(漢字コード順ですが。。)や、最初に重み付け(すべての人に連番を振っておく)しておくとよいのではないでしょか。
    • good
    • 0
この回答へのお礼

複数条件でランク付けする"式"を教えていただきたかったんです。まぎらわしい聞き方で申し訳ありません。

お答えありがとうございました。

#実は私も知人に聞かれたので詳細は不明です。

お礼日時:2001/08/24 14:46

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人が検索しているワード

このQ&Aと関連する良く見られている質問

Qエクセルでランクする時の同点の処理を教えて下さい

ランク関数を使って順位を出そうと思います。同点の場合別の条件を当てはめて順位を出したいと思います。

チーム名  順位   得点   勝ち点  負け点  勝ち点差   
 A    4    1     1    6    -5
 B    2    3     4    9    -5
 C    2    3     5    3     2
 D    1    5     8    2     6

数字は適当に当てはめたので、矛盾があるかも知れませんがこの様な場合、同点のチームだけ勝ち点差で順位をつけて、同順位の無いようにしたいのですが、どうすればいいのでしょうか。

Aベストアンサー

私がよく使っている順位付けの方法です。

順位が以下の優先順位で決定するものとします。

(1)勝ち点
(2)得失点差
(3)総得点

で順位付けする場合、
(1)×10000+(2)×100+(3)
というように、常識ではありえない数を掛け算して、
ポイント化します。
このポイントをランク関数で順位付けすることで、
同順位は発生しなくなります。

Qエクセルで順位表を並び替えたい。同順位表示方法は?

エクセルで順位表を別シートに並び替えたいと考えていますが、同点になった場合はどうしたらよいでしょうか?

シート1で集計した結果を参照し、シート2に上から順に1位から表示させる表を作りたいです。

試行錯誤の結果、下記まで作業しました。
=========
<シート1>
    A        B       C       
   (1)商品名  (2)販売額  (3)ランキング 
1    a     1000       2
2   b     1500      1
3  c     1000      2
4  d     500      4
5  e     300      5

(1)手入力
(2)SUM関数で集計した値
(3)RANK関数

<シート2>
    A        B    C
(3) ランキング  (1)商品名 (2)販売額
1
2
3
4
5

(3)手入力
(2)INDEXとMATCH関数
(3)INDEXとMATCH関数
=========

1)シート2の(3)ランキングをシート1を参照し降順で自動表示させる方法を教えてください。
今は手入力なので、同順位があった場合にずれが生じてしまいます。

2)シート2に同順位表示のまま並び替えする方法を教えてください。
INDEX関数とMATCH関数を使っていましたが、
シート1で同順位表示されていた箇所が、シート2で表示できませんでした。

どうぞ宜しくお願いいたします。

エクセルで順位表を別シートに並び替えたいと考えていますが、同点になった場合はどうしたらよいでしょうか?

シート1で集計した結果を参照し、シート2に上から順に1位から表示させる表を作りたいです。

試行錯誤の結果、下記まで作業しました。
=========
<シート1>
    A        B       C       
   (1)商品名  (2)販売額  (3)ランキング 
1    a     1000       2
2   b     1500      1
3  c ...続きを読む

Aベストアンサー

順位の数字に細工をしておくだけで、簡単にできます。

添付図:
C2に
=RANK(B2,B:B)+ROW()/1000
と記入、カンマ区切りの書式設定を取り付けて以下コピーしておく

これで同順も違う数字が計算できるので、あとはINDEXとMATCHで持ってくるだけです。


E2:
簡単に1番からの連番を記入
ROW関数とか使ってもいいですが、手で記入するので十分

F2:順位の数字の小さい順に取ってくる
=INDEX(A:A,MATCH(SMALL($C:$C,$E2),$C:$C,0))
右にコピー、下にコピー。


実際に手を動かして、できることを確認してください。

Qエクセルで同順位がある場合

エクセル2003を使用しています。下記のようなデータで数値の大きいものから順に順位をつけています。ところが同じ数値があった場合、一番左の項目しか表示されません。左から順番に表示させるにはどうしたらよいでしょうか?よろしくお願いいたします。

   A   B    C     D     E    F    G   H  
1     みかんりんごばなな 
2  あ社 15  15  10  みかん 15  みかん 15 
3  い社  20   30   30   りんご 20  りんご 20

E2=index($b$1:$d$1,1,match(large($b$2:$d$2,1),b2:d2,0)
F2=large($b2:$d2,1)

上のような式だと、1位が同数値だった場合、左端のみかんだけが表示されてしまいます。G2はりんご、G3にはばななが表示されるようにしたいのです。
わかる方、よろしくお願いします!

Aベストアンサー

E2=INDEX($B$1:$D$1,INDEX(MATCH(LARGE($B2:$D2-COLUMN($B2:$D2)/100,1),$B2:$D2-COLUMN($B2:$D2)/100,0),))
F2=INDEX($B2:$D2,MATCH(E2,$B$1:$D$1,0))

G2=INDEX($B$1:$D$1,INDEX(MATCH(LARGE($B2:$D2-COLUMN($B2:$D2)/100,2),$B2:$D2-COLUMN($B2:$D2)/100,0),))
H2=INDEX($B2:$D2,MATCH(G2,$B$1:$D$1,0))
★H2はF2の式をコピーしてもいいですよ

Qエクセル 同順位の処理

いつもお世話になっております。
 上位3名の合計点を求める時に、同順位(例:1位1名・2位1名・3位2名)が出た場合、3位者(同順位者)については1名のみの点数を計算したいのですがその方法がわかりません。よろしくお願いします。
 また、2位が2名の時は、1位と2位の3名の合計点の計算となります。

 順位はRANK関数を使用しています。

得点 順位 上位合計点
98  1
80  3
76        ?
82  2
80  3

よろしくお願いします。

Aベストアンサー

=LARGE(得点範囲,1)+LARGE(得点範囲,2)+LARGE(得点範囲,3)

で、常に上位三つの点数の和になります。

Q平均点の順位を出す関数(エクセル)

エクセルで,例えばA1~A5セルに,それぞれ10,20,30,40,50という数値が入っていて,その平均点をA7セルに求める場合,A7に,

=AVERAGE(A1:A5)

と入力します。そうすると平均点は,30と正しく出ます。
そして,その隣のB7セルに平均点の順位を出す場合,

=RANK(A7,$A$1:$A$5)

と入力します。この場合,正しく3(位)と出ます。

ここまではいいのですが,例えばA1セルを20に変えると,平均点は32と正しく出るのですが,B7セルの平均点の順位がエラーになってしまいます。

なぜ,このようなエラーが出てしまうのか理解できません。A1~A5セルにどんな数値が来ても,B7セルに平均点の順位が表されるようにすには,どうしたらよいのでしょうか。

Aベストアンサー

平均点はリストには存在しないから、RANK関数ではエラーになります。
順位ですから、点の高い順だとすれば、仮に、平均点をとった人が加わって、その人が何位だということになるのですから、

自分よりも点の高い人の数+1(自分)だから、

=COUNTIF($A$1:$A$5,">"&A7)+1

こういうことになるのではないかと思います。


このカテゴリの人気Q&Aランキング

おすすめ情報