• ベストアンサー

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

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

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

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

一発でできる回答が出るかな。 ランクを考えるデータ行をA列と仮定する。 (1)どこか空き列に(またはA列の隣に列挿入してB列とする)第1行に1、第2行に2と入れ、第1行と第2行を範囲指定して、最下のデータ行まで引っ張る(オートフィル)。 上から行番号と同じ番号が振られる。 (2)(1)の行も含め、データを全列範囲指定して、A列で降順で並び替えする。 (3)空き列に(または列挿入してC列とする)C1に 1と入れる(1番上は、間違い無く1番だから)。 C2に=IF(A1=A2,C1,MAX($C$1:C1)+1) といれ、下へ複写する。$の有無は重要、注意。 (4)この列を自身の列に「値」を複写して、式を消す。 (5)B列で昇順で並べ替えする。順序を当初のように 戻す。 (6)C列の数字が、望みのランク順序です。 他には、VBAでやる手もあります。

aiueochama
質問者

お礼

完璧です。ありがとうございました。また機会がありましたら、よろしくお願いいたします。

関連するQ&A

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

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

  • RANK.AVG関数でも同順位が整数で表示・・

    エクセル2010を使っている者です。 RANK関数がRANK.AVGとRANK.EQに分かれ、前者の場合は同順位だった場合、小数点で表示されるとのことですが、使ってみたところRANK関数と同じように同順位が同じ値の整数で表示されてしまいます。 以下のサイトに書いてあるとおり、小数点で表示させるにはどうすればよいでしょうか? http://blog.goo.ne.jp/fkeebie2010/e/5e9016b3146ae18225146f079bc6baec

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

    RANK関数で求めた結果が同じだった場合、別のフィールドを見に行って順位を同じにしない方法はわかりました。 RANK関数とSUMPRODUCT組み合わせすればいいんですね。 今回は条件が2つあります。 ゴルフの順位を求めたい。 まず結果にて順位を求めました。同じ順位だった場合「IN」の数字を見に行きます。そこでも同じだった場合(「OUT」が違えばありえますよね?) 次に見に行くのが年齢を見に行くそうです。 RANKにSUMPRODCTを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関数を使って順位付けするにはどのようにしたらよろしいでしょうか。 勉強不足だと思い、申し訳なく思います。何卒よろしくお願いいたします。

  • EXCEL関数の「RANK関数」で跳び表示なし・・

    EXCELのRANK関数についてですが。 下記の点数の数値にランク付けをしたとき、重複する点数が複数あるときは、重複個数分跳んで次のランク順位が表示されますが、 今回のニーズとして、重複しても跳ばずにランク表示を1.2.3.4と表示させたいのですが何か方法はありますか? 具体的には下記です。 100 100 90 72 72 60 60 50 の点数郡に対して =RANK(A1,$A$1:$A$8)の関数を使うと このようになると思いますが、 100 1 100 1 90 3 72 4 72 4 60 6 60 6 50 8 ↓こういう答えが欲しいです。 100 1 100 1 90 2 72 3 72 3 60 4 60 4 50 5 宜しくお願いします。

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

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

  • RANK関数の基本?

    教えてください。 順位をつける表があります。(元の問題は、「合計点をもとに成績の順位を求めましょう」です) RANK関数をつかったのですが、=Rank(数値、セル範囲、順序)と なりますよね。 で、答えを見ると順序が、省略されています。(0は省略できますよね) 問題には、昇順とか、降順は全く表示されていません。 これは、順位をつける関数は、順序は降順(点数(数値)の高い順でつける)でつけるのが当たり前という概念に基づいているからなんでしょうか。 宜しくお願いいたします。

  • Rank 関数について

    Rank 関数について エクセル2003を使っています。  Rank関数で出した数字を「数字/総数」という形式で表示させる方法を教えてください。 別の列に出しても構いません。ユーザー定義を使うのかもしれません。 例 名前 数値 Rank A  50  2 B  30  3 C  90  1 Rank列の横に 2/3 3/3 1/3 と表示させたいのです。

  • RANK関数について

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

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

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

専門家に質問してみよう