• ベストアンサー

EXCEL RANK関数で同じ順位にしたい

EXCELのRANK関数ですが同じ数値であった場合、順位に差がつくので困っています。 同じ数値の場合1位が2人、次は3位などにできないでしょうか? 宜しくお願いします。

noname#166310
noname#166310

質問者が選んだベストアンサー

  • ベストアンサー
noname#148473
noname#148473
回答No.1

Excelのバージョンは何でしょうか? 当方のExcelで試したところ、 「同じ数値の場合1位が2人、次は3位」というふうに なるのですが・・・? 範囲(2番目の引数)が絶対参照になっていないとかいうことはないですか? ご確認願います。

その他の回答 (5)

  • kariri50
  • ベストアンサー率0% (0/2)
回答No.6

No1の方がおっしゃっている通り、RANK関数の範囲を絶対参照にしていないのが原因だと思われます。 RANK関数の引数の指定は、=RANK(数値,範囲,順序)となっていますので、 「数値」には並べ替えたいデータを、 「範囲」にはどの範囲(どのデータ)で並べ替えたいかを、 「順序」には降順か昇順かを1または0の数値で指定します。(1が昇順、0が降順。降順の場合は省略可能) RANK関数で同率順位を出したい場合には、「範囲」を指定した後にF4キーを押して、 絶対参照にすることで、ご希望のような「同じ数値の場合1位が2人、次は3位」という答えにすることができます。 ※Excel2000でも、2002でも指定の仕方は同じです。

noname#166310
質問者

補足

みなさま回答いただきありがとうございます。 もともと式はあっていたのですが、どういうわけか、動かなかったのです。 (絶対参照、相対参照はよく使いますし、理解しております) 数値の方の入力ミスを早とちりしたのかもしれません。 おさがわせし、申し訳ありませんでした。今回は回答順とさせていただきます。

  • imogasi
  • ベストアンサー率27% (4737/17068)
回答No.5

質問者と、回答者の違いに付いて。 やって見ると (A列)(B列)(C列)(D列)(E列) 2 9 9 1 1 3 8 8 3 4 4 7 2 7 9 5 5 3 6 8 5 5 6 5 7 7 4 7 4 6 8 3 9 1 1 9 1 8 2 4 9 1 9 1 1 B1は=RANK(A1,A1:A9)をいれ、下へ複写 D1は=RANK(C1,C1:C9)をいれ、下へ複写 E1は=RANK(C1,$C$1:$C$9)をいれ、下へ複写 D列は質問のとおりのように見えるが、 第2引数が$がないのでおかしい。相対番地のまま複写しているのが原因でないですか。

noname#148473
noname#148473
回答No.4

#1です。たびたびすみません。 表示形式で数値の桁数が切り捨てられていて、 同じ数値に見えるものが実は違う数値という 可能性はないですか? たとえば、表示形式を「数値」、小数点以下の桁数を「0」にしておくと、 「2.5」も「3.4」も、同じように「3」と表示されます。 実際の値は、そのセルを選択すると 数式バー(シートの上にある白い横長の空欄)に表示されます。

  • maruru01
  • ベストアンサー率51% (1179/2272)
回答No.3

こんにちは。maruru01です。 少なくともEXCEL2000では、同じ順位になりますよ。 他のバージョンでも同じだと思いますが。

noname#148473
noname#148473
回答No.2

#1です。 当方はExcel2000です。 補足要求しておきながら、自分の環境を書くのを忘れていました。 申し訳ありません。

関連するQ&A

  • rank関数を使用する場合、順位に間を空けずに表示させるには?

    エクセルで3個の数値のうち1位が2個ある場合、RANK関数で順位を付けると1、1、3となりますが、これを1、1、2と間を空けずに表示させるにはどうすればよいのでしょうか?

  • RANK関数で順位付けする方法

    お世話になります。Oracle初心者です。RANK関数による順位付けについて悩み、検索してもわからず困っております。 次のような表tbがあります。 数値,順 70 10 30 この「順」のカラムに順位を付けて 数値,順 70,3 10,1 30,2 としようとしています。SELECTなら SELECT 数値,rank() over (order by 数値 desc) from tb; が成功します。これでupdateする場合、 (rank() over (order by 数値 desc))をした値を update tb set 順= とすればよいと思うのですが、うまくいきません。 PL/SQLを使わず、SQLでRANK関数を使って順位付けするにはどのようにしたらよろしいでしょうか。 勉強不足だと思い、申し訳なく思います。何卒よろしくお願いいたします。

  • RANK関数 順位が同じだった場合の条件が2つあります

    RANK関数で求めた結果が同じだった場合、別のフィールドを見に行って順位を同じにしない方法はわかりました。 RANK関数とSUMPRODUCT組み合わせすればいいんですね。 今回は条件が2つあります。 ゴルフの順位を求めたい。 まず結果にて順位を求めました。同じ順位だった場合「IN」の数字を見に行きます。そこでも同じだった場合(「OUT」が違えばありえますよね?) 次に見に行くのが年齢を見に行くそうです。 RANKにSUMPRODCTを2つ組み合わせてみたのですがうまくいきませんでした。 よろしくお願いします

  • Excel RANK関数 条件に一致する数値の順位

    EXCELのRANK関数で条件に一致する数値の順位を出したいのですが、そのような関数は出来ますか? A列 B列 C列(RANK) A  10  1 B 9 1 A 8 2 B 7 2 A 6 3 B 5 3 A列とB 列からC列を求めたいのですが、できますか?

  • RANK関数 同点の場合違う項目で序列を付けたい

    質問願います。 EXCELにて、RANK関数を使って順位付けをする事を理解しています。 スポーツの順位を勝ち点順に並べるのですが、総勝ち点が同点の場合、次に総得点で順位を確定させます。 この場合、順位付けする数値を勝ち点を優先参照・総得点を次に参照させる事は出来ますか? RANK以外の関数も併用すれば良いのでしょうか? どなたか回答お願い致します。

  • エクセルのRANK関数についてです。

     エクセルを使っていまして、その中の関数にRANKという関数があるわけですが、書式は =RANK(数値,範囲,順序) になりますが、この範囲のところにSUM関数を入れることはできるのでしょうか? =RANK(数値,SUM(B2:B5),順序) という形でSUMをRANK関数の中に入れることは可能でしょうか?私自身も何度も試してみましたが「入れた数式は正しくありません」というエラーが出てしまいました。

  • エクセルのRANK関数の応用

    エクセルのRANK関数を使って、順位を表示させたいのですが、 空白セルと、"0"の値が1位にカウントされてしまいます。 これを除外して表示させる方法は無いようなので、 これをVBAで作る事は出来ますでしょうか? "0"と空白セルは除外し、数値の小さい順に表示させたいのです。 以上よろしくお願いします。

  • RANK関数について

    RANK関数を使い表を作成しています。ただし、同じ数値がある場合、片方がエラーとなってしまいます。対処法を知っている方がいらっしゃいましたら、教えてください。 (例) A  10 B  20 C  10 数値の大きい順に順位をつけようとすると、3位がエラーとなってしまいます。

  • エクセルのRANK関数について

    エクセルのRANK関数を使って、順位を表示させたいのですが、 空白セルと、"0"の値が1位にカウントされてしまいます。 これを除外して表示させる方法はあるのでしょうか? 以上よろしくお願いします。

  • EXCELで関数を用いて細かく順位付けするには

    EXCELで順位表を作成しています。 2つの項目で点数をつけ、合計点で順位をつけていますが(RANK関数)、 同点になった場合はスポーツの成績表のように 順位が同じ人が何人も出てしまいます。(12位が3人いたら次は15位という意味です) 2つの項目を"学科"・"実技"だとして、合計点で一旦順位を出し 最終的には"学科"の成績を優先し細かく順位をつけたいと思っています。 その際全体の中からCOUNTIF関数で同点の人が複数いるケース(結果が1にならないケース)を検索しても、 その同点グループの範囲を表す事が出来ないので、その中で優越をつける事も出来ません。 一致した範囲を目で見ながら手入力してRANK関数で順位をつけることは出来ますが、 出来れば自動で出来ればなと思います。 説明がわかりにくいかとは思いますが、ご指導頂けると幸いです。よろしくお願い致します。

専門家に質問してみよう