• ベストアンサー

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

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

  • ベストアンサー
  • nobu555
  • ベストアンサー率45% (158/345)
回答No.1

昨日同じような質問がありました。 http://oshiete1.goo.ne.jp/qa3850349.html ANo.2の方の回答が参考になると思います。

その他の回答 (1)

noname#204879
noname#204879
回答No.2

Fig-1    Fig-2      Fig-3   A B     A B C     A B C 1 A 10   1 1 A 10   1 1 A 10 2 B  9   2 2 B  9   2 3 A  8 3 A  8   3 3 A  8   3 5 A  6 4 B  7   4 4 B  7   4 2 B  9 5 A  6   5 5 A  6   5 4 B  7 6 B  5   6 6 B  5   6 6 B  5 1.Fig-1 において、A列の左に1列挿入してセル A1 から下に   連番を入力して、Fig-2 を得る。 2.Fig-2 において、[最優先されるキー]を“列B”、[2番目に優   先されるキー]を“列A”にして範囲 A1:C6 を[並べ替え]て   Fig-3 を得る。 3.Fig-3 において、セル D1 に式 =RANK(C1,C$1:C$3) を入力し   て、此れを下方にセル D3 までドラッグ&ペーストした後、セ   ル D4 に式 =RANK(C4,C$4:C$6) を入力して、此れを下方にセ   ル D6 までドラッグ&ペーストして Fig-4 を得る。 Fig-4        Fig-5        Fig-6   A B C  D      A B C  D      A B  C 1 1 A 10 1    1 1 A 10 1    1 A 10 1 2 3 A  8 2    2 2 B  9 1    2 B  9 1 3 5 A  6 3    3 3 A  8 2    3 A  8 2 4 2 B  9 1    4 4 B  7 2    4 B  7 2 5 4 B  7 2    5 5 A  6 3    5 A  6 3 6 6 B  5 3    6 6 B  5 3    6 B  5 3 4.D列を選択して[コピー]→[値の貼り付け]を実行。 5.[最優先されるキー]を“列A”、[2番目に優先されるキー]を   “(なし)”にして範囲 A1:D6 を[並べ替え]て Fig-5 を得る。 6.Fig-5 において、A列を削除して Fig-6 を得る。

関連するQ&A

  • 限定範囲内の数値に対するRANK関数について

    エクセルについての質問です。    A  B   C  D 1    11 22 33 2    10 20 30 3    15 25 36 4    12 24 36 5    18 27  A列にRANK関数を使い「順位を入れたい」のです。 ただし以下のような決まりがあります。    (1)D列にて値が33以上の数値を対象とし、    (2)B列の数値を降順にランク付け 結果としては以下のようになる数式を目指していますがそのような関数はできますでしょうか。    A   B   C  D 1  3  11 22 33 2     10 20 30 3  1  15 25 36 4  2  12 24 36 5     18 27  対象がD列だけの数式でしたら 例えばA1のセルに  =IF(OR(D1<33,D1=""),"",RANK(D1,$D$1:$D$5,FALSE)) と入力し、他のA列へコピーすれば良いと思うのですがさらにその結果を対象とした数式がどうにもよくわかりません。 お分かりの方いらっしゃいましたら教えて頂けますでしょうか。

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

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

  • Rank 関数について

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

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

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

  • エクセルで順位付け

    お世話になります。宜しくお願いします。 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の方が若い数字なので、その若い数字の方が順位は上になるようにするには、どのような関数を使えばいいのでしょうか。(上記の説明でご理解戴けるでしょうか?) 当方、エクセル関数を始めたばかりですので、なるべく解りやすくご教授をお願いします。

  • エクセル関数で条件に一致したものの合計

    エクセル関数で条件に一致したものの合計 を計算することはできますでしょうか? SUMIFを使えばできるような気もするのですが、どうやったら良いのか分かりません。どうか教えてください。 やりたいことは、、 A列に1 or 2が入ってます。下記みたく。 1 2 2 1 2 1 B列に数字が入っていて、A列が2である行のB列の合計を求めたいのです。 よろしくお願いします。 -- エクセル2003

  • エクセルの関数RANK

    エクセル2000を使っています。RANK関数でランクを出したいのですが、範囲がA列だけでなくB列、C列にもあります。これらのはなれたデータを範囲にできますか?Ctrlを押しながらドラッグすると複数の範囲は選択できるのですが、エラーが出てしまいます。できるなら方法を教えてください。

  • エクセルRANK関数の同率順位を別表に抽出する時

    お世話になります。 エクセル2003を利用しています。初心者なので教えていただきたく存じます。 以下文面のようにランキング表を作りました。 RANK関数を利用してランキングを出し、順位表にTOP5(重複していても)まで出したいと思っています。 A列にA店~Z店までの名前(A店という名前は仮です)が入っており、 B列に上から結果数字がランダムに入力がされており、 C列にRANK関数を使って順位がその結果の横に数字として反映されています。 B列の順位の数字が大体1~20程度までの数字が記入されており、C列のRANK関数の結果が当然ですが重複して順位が表示されている状態です。 別表を作成して1~5位のランキング表を作り、A列に入っている店名とを表示させたいと思っております。 1位と2位は単独であったので店名はINDEXとMATCH関数を使ってきれいに抽出できたのですが、 3位以下は重複しているようで#N/Aと表示されてしまいます。 表示の仕方として「あいうえお順(A~Zの若い順)」で表示できればと思っております。 無知で恐縮なのですが、情報不足の点等あればご指摘いただきたく存じます。 お詳しい方、ご教授宜しくお願い致します。

  • エクセルの複数条件に一致したセルを抽出したいのですが、関数で教えてくだ

    エクセルの複数条件に一致したセルを抽出したいのですが、関数で教えてください。                A列   B列    C列 Aファイルには 行 【注文月日】、【氏名】、【商品金額】が記入されています。 Bファイルには 行 【注文月日】、【氏名】、【税金額】が記入されています。 AファイルのD列に、Aファイルの【注文月日】かつ【氏名】がBファイルの【注文月日】かつ【氏名】と一致する場合のBファイルC列の【税金額】を表示したいのです。 VLOOKUP関数では条件が1つだけなので使用できませんが、似たような関数で複数条件ができる関数があるなら教えてください。

  • RANK関数について

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

専門家に質問してみよう