EXCEL関数でランク表示を重複なしにする方法

このQ&Aのポイント
  • EXCELのRANK関数を使用して、重複なしでランク表示をする方法について教えてください。
  • 具体的な例として、以下の数値に対して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 宜しくお願いします。

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

  • ベストアンサー
  • keithin
  • ベストアンサー率66% (5278/7940)
回答No.3

B1に =COUNT(1/(IF(FREQUENCY(A:A,A:A),$A$1:$A$8,-1)>A1))+1 と記入してコントロールキーをシフトキーを押しながらEnterで入力し,B8までコピー貼り付け。

bunbunbun_3
質問者

お礼

ばっちり欲しい答えが得られました!!ありがとうございます! 大変高度な関数ですね。 FREQUENCYを調べてみましたが、じっくり考えないと難しかったです;; スッキリしました!

その他の回答 (2)

  • mu2011
  • ベストアンサー率38% (1910/4994)
回答No.2

前提条件つきです。 (1)事前に降順の並び替えされている (2)先頭行は見出し行ありとする 仮にA2以下に点数が入力、B2に=IF(COUNTIF($A$2:A2,A2)=1,SUM(B1,1),B1)として 下方向にコピー

bunbunbun_3
質問者

お礼

大変参考になりました。 ありがとうございます。

  • mt2008
  • ベストアンサー率52% (885/1701)
回答No.1

作業列を使っても良いのなら…… B1に =IF(COUNTIF(A$1:A1,A1)=1,A1,"") と、入れてB8までコピー(コレが作業列) C1に =RANK(A1,B$1:B$8) と、入れてC8までコピー

bunbunbun_3
質問者

お礼

大変参考になりました。 ありがとうございます。

関連するQ&A

  • RANK関数の基本?

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

  • 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関数では、数字しか使えないですか?

    RANK関数では、順位(1,2,3…)で表示することしか出来ませんか? 金額によって、A,B,C…とランク分けをしたいのですが、どうしたらいいでしょうか。 まず、RANK関数で1,2,3…と表示し、それを更に別の関数でA,B,C…と変換するやり方になりますか? お詳しい方、ぜひ教えてください。

  • RANK関数について

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

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

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

  • Rank 関数について

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

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

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

  • RANK関数の同点の処理について

    RANK関数で同点の場合は同位として処理されると思っていたのですが、 なぜか同じ値でも同位で処理されない現象に遭遇して困っています。 RANK(数値、参照、順序)の数値が参照しているセルには、点数を算出する式が 入っています。 計算結果が同じ点数にも関わらず同位として処理されません。 参照するセルの値を数式ではなく直接入力した点数の場合は同位として 処理されます。 ランク関数の仕様として、数式の場合は同位と扱わないようになっていた 記憶もなく調べてもそのような記述のあるページも見当たりませんでした。 これは、バグ何でしょうか? 状態としては、B列のC列の得点差をD列で算出して、このD列の値を用いて 順位を出そうとしています。 D列の結果は、同じ点数で1位にならなければならい2行が片方は1位で もう片方は2位と表示されていまいます。

  • エクセル関数(1つのセルにHLOOKUPとRANK)

    A 10 20 20 15 35 とあった場合に、  A 10(5) 20(2) 20(2) 15(4) 35(1) と、()内に順位をつけたいです。 なお、ランク付けする数値自体(ここでいう、10や20)もHLOOKUPによる数値なので、 一つのセルにHLOOKUPとRANKが同居する形になるかと思います。 別の個所にランクを出しておいて、 それを結合するような形にはしたくありません。 乱文で大変申し訳ございませんが、 参考ページでも十分ですので、ご教示いただければと思います。 よろしくお願いいたします。

  • RANK関数で同じ計算結果なのに順位が変わる

    B1に2.98 C1に2.95 D1に2.94 B2に2.97 C2に2.98 D2に2.92 と言う数値が入っています。 そして、E1~2にはAVERAGE関数で平均を求めています。 その平均を元にF1~2にRANK関数で順位付けをすると平均の値は同じなのに、順位は変わります。 何故なんでしょうか? ちなみにE1に入れている数式は、 =RANK(E1,$E$1:$E$3,0)です。 3行目はわかりやすいように任意の数値を入れています。 自分で検証としては、平均の式の結果を「形式を選択して貼り付け」で値のみ貼り付けをしても結果は変わらなかったのですが、その後、ダブルクリックでカーソルを式内に入れてEnterを押すと正しく表示されました。 合計でランク付けをしても同じ結果ですし、 並び替えてみても、その順番に並び変わるので、 計算式の仕様なのかなと思うのですが、 解決方法があれば、お願いします。 もしくは、どちらが上に来るかわかるようであれば。 よろしくお願いします。

専門家に質問してみよう