gooポイントが当たる質問投稿キャンペーン>>

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

このQ&Aに関連する最新のQ&A

A 回答 (2件)

昨日同じような質問がありました。


http://oshiete1.goo.ne.jp/qa3850349.html
ANo.2の方の回答が参考になると思います。
    • good
    • 0

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 を得る。
    • good
    • 0

このQ&Aに関連する人気のQ&A

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人が検索しているワード

このQ&Aと関連する良く見られている質問

QEXCELで複数のグループ内での順位を表示させたい。

EXCELで複数のグループ内で順位を表示させるようにしたいのですが、
どうすれば良いかわからず困っています。

たとえば、こんなデータがあるとします。
(A列)(B列)
名前  スコア
あああ10
あああ20
あああ30
あああ 40
いいい5
いいい20
いいい60
いいい65
いいい70
いいい80
いいい90
 ・   ・
 ・   ・
 ・   ・

こようなデータを名前別でスコアの降順で順位をつけたいのです。
(A列)(B列) (C列)
名前  スコア順位
あああ10 4
あああ20 3
あああ30 2
あああ 40 1
いいい5 7
いいい20 6
いいい60 5
いいい65 4
いいい70 3
いいい80 2
いいい90 1
 ・   ・
 ・   ・
 ・   ・

名前の種類の数もかなりあります。

このようにグループ内で順位を表示させるにはどのようにしたらいいでしょうか?

EXCELは初心者なため、どなたかお詳しい方、どうか宜しくお願い致します。

EXCELで複数のグループ内で順位を表示させるようにしたいのですが、
どうすれば良いかわからず困っています。

たとえば、こんなデータがあるとします。
(A列)(B列)
名前  スコア
あああ10
あああ20
あああ30
あああ 40
いいい5
いいい20
いいい60
いいい65
いいい70
いいい80
いいい90
 ・   ・
 ・   ・
 ・   ・

こようなデータを名前別でスコアの降順で順位をつけたいのです。
(A列)(B列) (C列)
名前  スコア順位
あああ10 4
あああ20 3
ああ...続きを読む

Aベストアンサー

    A      B     C
1  名前   スコア  順位
2  あああ   10    4
3  あああ   20    3
4  あああ   30    2
5  あああ   40    1
6  いいい   5    7
7  いいい   20    6
8  いいい   60    5
9  いいい   65    4
10  いいい   70    3
11  いいい   80    2
12  いいい   90    1

C2=SUMPRODUCT(($A$2:$A$20=A2)*($B$2:$B$20>B2))+1
★下にコピー

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

エクセル2010を使っている者です。
RANK関数で順位をつけても同順位だった場合、他の条件で判定することは可能でしょうか?
過去の質問も見たのですが、私のしたいこととは違う事例なんですね。


具体的には、添付画像のような表でドント式で順位をつけようと思っています。

オレンジ色にしたセルに、一つ右のセルの値について数値の高い順に順位をつけていき(全列のオレンジ色のセルの右の値の中での順位です)、値が同じであれば「総数」の値の大きい列のセルのほうが上位になるというようにしたいと思っています。

どうぞ、よろしくお願いいたします。

Aベストアンサー

作業列を使ってごまかす方法があります。
添付の図の例では、D2セルに↓と、入れてあります。
=B2+C2/1000+ROW()/100000

+C2/1000 は、第2条件である「総数」を1/1000した値を足すことで、元データが同じときには「総数」が多いほうが上になるようにしています。
+ROW()/10000 は、データも総数も同じ場合、後から登場した方を上位とするために足しています。

「/1000」や「/10000」は、実際の値やデータ量に合わせて調整してください。

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

質問願います。
EXCELにて、RANK関数を使って順位付けをする事を理解しています。
スポーツの順位を勝ち点順に並べるのですが、総勝ち点が同点の場合、次に総得点で順位を確定させます。

この場合、順位付けする数値を勝ち点を優先参照・総得点を次に参照させる事は出来ますか?
RANK以外の関数も併用すれば良いのでしょうか?

どなたか回答お願い致します。

Aベストアンサー

総勝ち点が例えばA1セルに50のときに総得点がB1セルに10であったとします。この場合には作業列を作ってC1セルには例えば次の式を入力して重みを付けた値にします。

=A1+B1/1000

C列のデータについてRANK関数を使うことにすればよいでしょう。

Qエクセルで、条件に一致した行を別のセルに抜き出す方法

エクセルで、指定した条件に一致するセルを含む行をすべて抜き出す方法が知りたいです。

たとえば、

<A列> <B列> <C列>
7/1 りんご 100円
7/2 ぶどう 200円
7/2 すいか 300円
7/3 みかん 100円

このような表があって、100円を含む行をそのままの形で、
別のセル(同じシート内)に抜き出したいのですが。

7/1 りんご 100円
7/3 みかん 100円

抽出するだけならオートフィルターでもできますが、
抽出結果を自動的に、別の場所に、常に表示させておきたいのです。

初歩的な質問だと思いますが、検索しても分からなかったので、よろしくお願いします。

Aベストアンサー

同じ質問が結構よく出てますが、そんなに初歩的でもありません
別シートのA1セルに「100円」と入力し、そのシートの任意のセルに以下の式を貼り付けて下さい。後は、下方向、右方向にコピー。
日付のセル書式は「日付」形式に再設定してください

=IF(COUNTIF(Sheet1!$C:$C,$A$1)>=ROW(A1),INDEX(Sheet1!A:A,LARGE(INDEX((Sheet1!$C$1:$C$500=$A$1)*ROW(Sheet1!$C$1:$C$500),),COUNTIF(Sheet1!$C:$C,$A$1)-ROW(A1)+1)),"")

データ範囲は500行までとしていますが、必要に応じて変更して下さい

QRANK関数 順位が同じだった場合の条件が2つあります

RANK関数で求めた結果が同じだった場合、別のフィールドを見に行って順位を同じにしない方法はわかりました。
RANK関数とSUMPRODUCT組み合わせすればいいんですね。

今回は条件が2つあります。
ゴルフの順位を求めたい。
まず結果にて順位を求めました。同じ順位だった場合「IN」の数字を見に行きます。そこでも同じだった場合(「OUT」が違えばありえますよね?)
次に見に行くのが年齢を見に行くそうです。

RANKにSUMPRODCTを2つ組み合わせてみたのですがうまくいきませんでした。

よろしくお願いします

Aベストアンサー

私はゴルフをしないので、スコア等間違っているかもしれませんが、
  A    B   C  D   E    F  ←列
1  氏名  in  out  計  年齢  順位
2  a    15  13  28   18   4
3  b    15  13  28   25   3
4  c    13  15  28   32   2
5  d    16  12  28   27   5
6  e    13  13  26   20   1


(1)スコアが少ない人が上位
(2)同スコアの場合INのスコアが少ない人が上位
(3)さらに同スコアの場合年齢が多い人が上位
の様な感じでよいのでしょうか?

RANK関数は使っていませんが、

=SUMPRODUCT(($D$2:$D$6<D2)+(($D$2:$D$6=D2)*(($B$2:$B$6<B2)+($B$2:$B$6=B2)*($E$2:$E$6>E2))))+1

でどうでしょう?

(1)自分より「計」が少ない人
(2)「計」が同じでInがすくない人
(3)「計」・「In」が同じで年齢が多い人
が何人いるか計算し、その次の順位(+1)にします。

間違っていたらすみません。

私はゴルフをしないので、スコア等間違っているかもしれませんが、
  A    B   C  D   E    F  ←列
1  氏名  in  out  計  年齢  順位
2  a    15  13  28   18   4
3  b    15  13  28   25   3
4  c    13  15  28   32   2
5  d    16  12  28   27   5
6  e    13  13  26   20   1


(1)スコアが少ない人が上位
(2)同スコアの場合INのスコアが少ない人が上位
(3...続きを読む

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

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

               A列   B列    C列
Aファイルには 行 【注文月日】、【氏名】、【商品金額】が記入されています。
Bファイルには 行 【注文月日】、【氏名】、【税金額】が記入されています。

AファイルのD列に、Aファイルの【注文月日】かつ【氏名】がBファイルの【注文月日】かつ【氏名】と一致する場合のBファイルC列の【税金額】を表示したいのです。

VLOOKUP関数では条件が1つだけなので使用できませんが、似たような関数で複数条件ができる関数があるなら教えてください。

Aベストアンサー

こんばんは!
一例です。
↓の画像で右側(Bファイル)の方に作業用の列を設けています。
作業列D2セルを
=A2&B2
としてオートフィルで下へずぃ~~~!っとコピーします。

そして、AファイルのD2セルに
=IF(OR(A2="",COUNTIF([Bファイル.xls]Sheet1!D$2:D$1000,A2&B2)=0),"",INDEX([Bファイル.xls]Sheet1!C$2:C$1000,MATCH(A2&B2,[Bファイル.xls]Sheet1!D$2:D$1000,0)))
という数式を入れ、オートフィルで下へコピーすると
画像のような感じになります。
尚、数式はBファイルの1000行目まで対応できるようにしていますが、
データ量によって範囲指定の領域はアレンジしてみてください。

以上、参考になれば良いのですが
他に良い方法があれば読み流してくださいね。m(__)m

QMAXIFはどうすればいい?

AVERAGEIFはありますが、maxでほしいのです。どうやって作れますか?

詳細:
B列が「あ」のデータだけ抜き出し、A列のmax値を得たいのです。
A    B
1   あ
2   い
4   あ
8   え
15  い
この例ではmax値は4です。

Aベストアンサー

>MAXIFはどうすればいい?
MAX関数の括弧内(配列)を前処理しなければなりません。
前処理の数式=(B1:B5="あ")*A1:A5
従って、=MAX(B1:B5="あ")*A1:A5 → MAX({1;0;4;0;0}) → 4
Excelでは計算結果を配列で返すことを要する数式を入力時にCtrlとShiftを押しながらEnterキーを打鍵することになっています。
確定した状態を数式バーで見ると{=MAX(B1:B5="あ")*A1:A5}のように数式を大括弧で括られています。

SUMPRODUCT関数の引数としてMAX関数の返り値を設定するとEnterキーで確定しても目的通りの値が返ります。
=SUMPRODUCT(MAX((B1:B5="あ")*A1:A5))
どのような数式を使っても結果が目的に合えば良いのでお好きな方法で解決してください。

QエクセルのIF関数で、文字が入力されていたならば~

エクセルのIF関数で文字が入力されていたならば~、という論理式を組み立てたいと思っています。

=IF(A1="『どんな文字でも』","",+B1-C1)

A1セルに『どんな文字でも』入っていたならば、空白に。
文字が入っていなければB1セルからC1セルを引く、という状態です。

この『どんな文字でも』の部分に何を入れればいいのか教えてください。

またIF関数以外でも同様のことができれば構いません。

宜しくお願いします。

Aベストアンサー

=IF(ISTEXT(A1),"",B1-C1)

でどうでしょうか?

Qエクセル 0や空白のセルをグラフに反映させない方法

以下の点でどなたかお教えください。

H18.1~H20.12までの毎月の売上高を表に記載し、その表を元にグラフを作成しています。グラフに反映させる表の範囲はH18.1~H20.12の全てです。
そのためまだ経過していない期間のセルが空白になり、そこがグラフに反映され見づらくなります。
データを入力する都度グラフの範囲を変更すればいいのですが、うまく算式や設定等で空白や0円となっているセルをグラフに反映させない方法はありますか?

お手数ですが、よろしくお願いいたします。

Aベストアンサー

売上高のセルは数式で求められているのですよね?
それなら
=IF(現在の数式=0,NA(),現在の数式)
としてみてください。
つまり、0の場合はN/Aエラーにしてしまうんです。N/Aエラーはグラフに反映されません。

QExcel MATCH関数で検索範囲内に同じ値の検索値が複数ある場合

MATCH関数で、検索した値が複数ある場合に1つしか出なくて困っています。
(例)
   A B C D
1 年月日 種類 番号 備考
2 4月1日 肉類 1
3 4月2日 野菜 2
4 4月3日 肉類 1
5 4月4日 果物 2
6 4月5日 野菜 1
7 4月6日 果物 3
8 4月7日 果物 2
9 4月8日 肉類 1

この表で、D9の備考の欄に「種類:肉類、番号:1」と同じものがあった時の日付を、新しい日付で取り出したいのです。

INDEX(A2:A8,(MATCH(B9,B2:B8,0)+MATCH(C9,C2:C8,0))/2)
としたのですが、本当は4月3日を取り出したいのですが、4月1日が出てきます。
どのようにしたら良いでしょうか?
Excel2003です。
よろしくお願いします。

Aベストアンサー

MATCH関数を使用しませんが、D9の書式を日付にして、
=MAX((A2:A8)*(C2:C8=1)*(B2:B8="肉類"))
と、入力してShift+Ctrl+Enterキーで入力完了してみてください(配列式になります)。


人気Q&Aランキング