Excel 複数範囲で順位付け

このQ&Aのポイント
  • MS-Excelで、複数の範囲において、それぞれの値の順位を調べる方法について教えてください。
  • RANK関数を使って複数の範囲を指定することはできないようです。他の方法やマクロを使用して、複数範囲での順位付けを実現する方法を教えてください。
  • 複数範囲に名前をつけても、RANK関数ではうまく動作しないようです。他の手段を使って、複数範囲での順位付けを行う方法を教えてください。
回答を見る
  • ベストアンサー

Excel 複数範囲で順位付け

MS-Excelで、複数の範囲において、それぞれの値の順位を調べようと思い、AVERAGE関数やMAX関数などと同様に、RANK関数でも複数の範囲を指定してしようとしたのですが、範囲をカンマで区切るのはできないようです。 たとえば、 範囲:A1:A5,C1:C5 調べたい数値が入っているセル:A1 のときに、 RANK(A1,A1:A5,C1:C5) とすると、RANK関数の書式は、 RANK(数値,範囲,[順序]) なので、C1:C5が順序扱いとなり、エラーになってしまいます。 複数範囲に名前をつけて、範囲に名前を指定してみましたが、それでもエラーになりました。 どうすれば、複数の範囲において順位を調べられるのでしょうか? RANK関数にはこだわっていません。 マクロでも構いません。 よろしくお願いします。

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

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

>複数範囲に名前をつけて、範囲に名前を指定してみましたが、それでもエラーになりました。 ⇒A1:A5,C1:C5を選択し、名前付けでエラーになりませんので、再度お試し下さい。

higekuman
質問者

お礼

あれ?・・・と思って調べてみたら、名前を付ける範囲を間違えていて、循環参照になっていたみたいです。 私の単なるポカミスでした。 回答者様のおかげでポカミスに気づくことができました。 どうもありがとうございました。

関連するQ&A

  • エクセルで順位付け

    お世話になります。宜しくお願いします。 RANK関数で同順位が出た場合に、指定した数値(条件)を参照して順位を出す方法をOK Wave等で探しました。私のニーズに一番近い問答が在りましたので(質問者:Kaizu35 質問No:965845さん)、それを引用させて頂きます。 A列  B列  C列  D列 No1   0.83   1   1 No2   1.29 4 6 No3   1.01 3 4 No4   0.88 2 2 No5   1.01 3 5 No6   0.88 2 3 上の表の様にRANK関数を使うとC列の様な順位になります。それをD列の様な順位にしたいのです。条件として、A列のNo1~No6の通り若い数字順、(例えば、No4の0.88が2位でNo6の0.88が3位とか、No3の1.01が4位でNo5の1.01が5位)の用に同じ0.88でも1.01でもNo4とNo6、No3とNo5ではNo4とNo3の方が若い数字なので、その若い数字の方が順位は上になるようにするには、どのような関数を使えばいいのでしょうか。(上記の説明でご理解戴けるでしょうか?) 当方、エクセル関数を始めたばかりですので、なるべく解りやすくご教授をお願いします。

  • excel rankで範囲を複数のシートから指定する?

    excelで複数のシート(仮にsheet1,sheet2)のA列の複数行に数値が入っています。 それぞれのシートのA列のとなりの列にsheet1,sheet2のA列にある全ての数値の中での順位を出したいです。 rankを使うときに範囲を複数のシートにまたがって指定できますでしょうか? よろしくお願いします。

  • 順位をつける範囲について

    以下のようなデータがあります。   A  B 1 あ 3.0 2 あ 3.0 3 あ 3.0 4 あ 3.0 5 い 1.5 6 い 1.5 7 あ 3.0 8 あ 3.0 9 い 1.5 10 い 1.5 11 う 6.8 12 う 6.8 この「あ」「い」「う」の順位を決定するのに、C列にRANK関数を使って範囲をB1:B12にすると   A  B   C  D 1 あ 3.0  5  2 2 あ 3.0  5  2 3 あ 3.0  5  2 4 あ 3.0  5  2 5 い 1.5  1  1 6 い 1.5  1  1 7 あ 3.0  5  2 8 あ 3.0  5  2 9 い 1.5  1  1 10 い 1.5  1  1 11 う 6.8  11  3 12 う 6.8  11  3 となります。でも実際には順位はD列のようにならないといけないですよね。 A列の「あ」「い」「う」がアトランダムにある場合に(A列のどこに存在しても)D列のような順位を出す方法を教えてください。 よろしくお願いいたします。

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

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

  • エクセルでの順位づけ

    こんにちは 下のような表で、C列に順位をつけて、順位を出すのではなく、 名前を表示したい場合(5行目から7行目)は、どうしたらいいのか困っています。 この関数ならできるというのがありましたら、教えてください。 よろしくお願いします。     A列   B列   C列     (名前) (点) (順位) 1行目 いちろう  40    2 2行目 じろう   30    3 3行目 はなこ   50    1 5行目     第1位  はなこ 6行目     第2位  いちろう 7行目     第3位  じろう

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

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

  • エクセル 一連のデータを任意の範囲で順位付けしたい

    エクセルで、一つの列に並べられたデータを、任意の範囲で順位付けがしたいです。 具体的に説明します。 下記の表のように、A列に任意の文字、B列に数字があります。 A列   B列 AAA   15 AAA   19 BBB   3 BBB   8 BBB   9 BBB   4 BBB   1 DDD   20 DDD   21 DDD   19 この中で、A列の文字が同じものについて、B列の数字の順位をC列に表現したいです。理想の結果としては、下記の表になります。 ランク関数を使えばよいのは分かりますが、任意の範囲を指定する方法が分からなく、かつデータ量が膨大(10000行程度)であるため、悩んでいます。よろしくお願いします! A列   B列   C列 AAA   15   2 AAA   19   1 BBB   3    4 BBB   8     2 BBB   9     1 BBB   4     3 BBB   1     5 DDD   20   2 DDD   21   1 DDD   19   3

  • =COUNTIF関数で複数の範囲を指定できないでしょうか

    =COUNTIF関数で複数の範囲を指定できないでしょうか 例えば N3:P5 Q3:V3 N6:N11の範囲に3がいくつあるかを数えたいのですが 3つをカンマで区切って指定しただけではエラーになってしまいます COUNTIF関数を3つならべて合計すれば目的は達せられそうですが もう少しスマートな方法はないものか アドバイスよろしくお願いします ちなみにExcel2007です

  • エクセルの範囲指定

    セルの範囲指定で、例えば、「=average(A1:C30)」という計算式を入れるとします。 そこに、もう1つセルを足す場合は、「,F1」を足して、「=average(A1:C30,F1)」と すると思うのですが、その逆は無いのでしょうか? 「A1:C30」という範囲指定の中の「B20」というセルは省いて範囲指定したい場合は、 なにかいい手が無いでしょうか? エクセルにはそんな考え方はありませんか? どなたかよろしくご教授ください!!

  • 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列を求めたいのですが、できますか?