• ベストアンサー

エクセル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

専門家に質問してみよう