• ベストアンサー

エクセル2010でRANK関数に条件を付けるとき

エクセル2010を使っている者です。 RANK関数で順位をつけても同順位だった場合、他の条件で判定することは可能でしょうか? 過去の質問も見たのですが、私のしたいこととは違う事例なんですね。 具体的には、添付画像のような表でドント式で順位をつけようと思っています。 オレンジ色にしたセルに、一つ右のセルの値について数値の高い順に順位をつけていき(全列のオレンジ色のセルの右の値の中での順位です)、値が同じであれば「総数」の値の大きい列のセルのほうが上位になるというようにしたいと思っています。 どうぞ、よろしくお願いいたします。

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

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

作業列を使ってごまかす方法があります。 添付の図の例では、D2セルに↓と、入れてあります。 =B2+C2/1000+ROW()/100000 +C2/1000 は、第2条件である「総数」を1/1000した値を足すことで、元データが同じときには「総数」が多いほうが上になるようにしています。 +ROW()/10000 は、データも総数も同じ場合、後から登場した方を上位とするために足しています。 「/1000」や「/10000」は、実際の値やデータ量に合わせて調整してください。

qazxcvfr4
質問者

お礼

ありがとうございます。 しかし、そういった工夫以外の方法はないでしょうか・・ 私は気づきませんでしたが、それって技というより少々の手間をかけた工夫という感じなんですよね・・

その他の回答 (2)

  • MackyNo1
  • ベストアンサー率53% (1521/2850)
回答No.3

No2の回答の訂正です。 No2の回答は、B列の総数が小さい順に順位付けする式になっていました。 大きい順に順位付けするなら以下のようにCOUNTIFS関数の不等号の向きを反対にしてください。 =RANK(A2,$A$2:$A$16)+COUNTIFS($A$2:$A$16,A2,$B$2:$B$16,">"&B2)

qazxcvfr4
質問者

お礼

ありがとうございます。

  • MackyNo1
  • ベストアンサー率53% (1521/2850)
回答No.2

添付画像が小さくて内容が良く見えないのですが、例えばA列の数字を基準に順位付けをして、同順位の場合はB列の数字の大きい方を上位にする場合の数式が知りたいということなら以下のような数式になます。 =RANK(A2,$A$2:$A$16)+COUNTIFS($A$2:$A$16,A2,$B$2:$B$16,"<"&B2)

qazxcvfr4
質問者

お礼

遅くなりましたが、ありがとうございます。 工夫するしかないわけですね。

関連するQ&A

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

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

  • 【Excel】条件付書式内でのRANK関数の使用に関して

    【Excel】条件付書式内でのRANK関数の使用に関して A列に部署名、B列に個人名、C列に数値が入っているシートがあります。 データはいずれも5行目から入力されています。 C列に記入されている数値の上位3つのセルに色を付けたいと思ったのですが上手くいきません。 私が試したやり方としては、 数式に =RANK(C5,C$5:C$54)<=3 左記を入力し、書式パターンで指定の色を選びました。 ところが、いずれのセルにも色が付きませんでした。 色が付かない原因が分かる方いらっしゃいましたら教えていただければ幸いです。 【補足】 ちなみに、C列の数値が入っているセルの書式設定にはユーザー定義の○○件というものが設定されています。 また、 =RANK(C5,C$5:C$54)<=3 以外にも$を取った =RANK(C5,C5:C54)<=3 でも試しましたがダメでした。

  • ExcelのRANK関数で。

    こんにちは。宜しくお願い致します。 ゲームの得点を集計するフォームをエクセルで作成しているのですが、 もしも同点のものがあった場合は、順位をより上のセルに入力されているものが上位になるように設定したいのです。 例) B列(得点)  C列(順位) 10       2 20       1 10       3 10       4 と、このような形にしたいのです。 今現在、RANK関数を使用して作成していたのですが、同点の場合に不都合があることに気が付いて、その解決方法がわかりません。 もっとほかの関数を使うべきなのでしょうか? どなたか教えてください。宜しくお願い致します。

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

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

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

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

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

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

専門家に質問してみよう