エクセルで同順位がある場合の対応方法は?

このQ&Aのポイント
  • エクセル2003を使用している場合、数値の順位付けをする際に同じ数値があると一番左の項目しか表示されない問題が発生します。
  • 順番に表示させるためには、INDEX関数とMATCH関数を使って順位ごとに項目を取得する方法があります。
  • また、LARGE関数を使って数値の大きい順に順位をつけることもできます。
回答を見る
  • ベストアンサー

エクセルで同順位がある場合

エクセル2003を使用しています。下記のようなデータで数値の大きいものから順に順位をつけています。ところが同じ数値があった場合、一番左の項目しか表示されません。左から順番に表示させるにはどうしたらよいでしょうか?よろしくお願いいたします。    A   B    C     D     E    F    G   H   1     みかんりんごばなな  2  あ社 15  15  10  みかん 15  みかん 15  3  い社  20   30   30   りんご 20  りんご 20 E2=index($b$1:$d$1,1,match(large($b$2:$d$2,1),b2:d2,0) F2=large($b2:$d2,1) 上のような式だと、1位が同数値だった場合、左端のみかんだけが表示されてしまいます。G2はりんご、G3にはばななが表示されるようにしたいのです。 わかる方、よろしくお願いします!

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

  • ベストアンサー
  • maron--5
  • ベストアンサー率36% (321/877)
回答No.1

E2=INDEX($B$1:$D$1,INDEX(MATCH(LARGE($B2:$D2-COLUMN($B2:$D2)/100,1),$B2:$D2-COLUMN($B2:$D2)/100,0),)) F2=INDEX($B2:$D2,MATCH(E2,$B$1:$D$1,0)) G2=INDEX($B$1:$D$1,INDEX(MATCH(LARGE($B2:$D2-COLUMN($B2:$D2)/100,2),$B2:$D2-COLUMN($B2:$D2)/100,0),)) H2=INDEX($B2:$D2,MATCH(G2,$B$1:$D$1,0)) ★H2はF2の式をコピーしてもいいですよ

poo1123
質問者

お礼

ありがとうございます! うまくいきました。すごいです。

関連するQ&A

  • エクセルで同順位の値を表示する方法

    windowsXP Excel2003です sheet1に   A   B   C    D   E 1    10代  20代  30代  40代 …70代以上 2 1位 みかん なし  りんご もも 3 2位 りんご もも  もも  みかん 4 3位 なし  りんご みかん りんご 5 4位 もも  みかん なし  なし 上記のように年代ごとに30位まで表示させたいと 思っています。 元になるsheet2は    A   B   C  D   E        I       10代 20代 30代 40代 …70代以上 1 みかん 150  50  80  180        みかん 2 りんご 100  70  170  100        りんご 3 なし   50  200  30  20        なし 4 もも   50  130  170 250        もも 以上のように年代別の列が10代から70代以上まであり、 A列の果物の種類は500行ほどあります。 (すべて違うものです) =VLOOKUP(LARGE($B$9:$B$12,1),$B$9:$I$12,8,0) を使ってそれぞれ、1位、2位、3位…の果物の名前を 表示させたのですが、上記の式だと、下記のように 表示されてしまいます。    10代  20代  30代  40代 …70代以上 1位 みかん なし  りんご もも 2位 りんご もも  りんご みかん 3位 なし  りんご みかん りんご 4位 なし  みかん なし  なし この10代の3位と4位、30代の1位と2位のように同じ順位になるもので、 2番目にくる果物を正しく表示させたいのですが、どのような数式を 使ったらいいのか教えてください。 果物種類は500ほどあり、順位が同じになるものは5種類くらいに なることがあります。 10代から70代以上のこの表が3つあるので、関数でどうにかしたいと 思っています。 初めての質問なので分かりにくいところもあるかと思いますが、 よろしくお願いいたします。

  • エクセルで縦に並んだデータを横に並び替えたい

    エクセルで↓ のようなデータがあります  | A | B | C | D 1|A店|りんご| 2 | 2|A店|みかん| 3 | 3|A店|バナナ| 4 | 4|B店|りんご| 3 | 5|B店|バナナ| 2 | これを以下のようなかたちにしたいのですが、一つずつ移動する以外に方法はありますか?  | A | B | C | D | E | F | G | 1|A店|りんご| 2 |みかん| 3 |バナナ| 4 | 2|B店|りんご| 3 |バナナ| 2 | 100以上データがあり、手作業で移すのは大変です。 ちなみにVBAなどはほとんど理解できません。 何か解決策があればと質問させていただきたました。 よろしくお願いします。

  • エクセルで、スペースで区切られた言葉をわける。

    たとえば、セルのA1に、  りんご■バナナ■みかん■ぶどう■いちご (■=半角スペース) とあったときに、 B1のセルにりんご C1のセルにバナナ D1のセルにみかん E1のセルにぶどう F1のセルにいちご となるようにB1~F1に入力する関数があれば教えてください。

  • 同順の場合の順位について(2回目)

        A    B    C    D   E    F    G 1   社長   2    60(点) -   1(位)次長   75(点) 2   次長   1    75    -   2   社長   60 3   部長   2    60    -   2   部長   60  4   係長   4    55    -   4   係長   55 5    -    -     -     -    -     -    - 6    1 (位) エラー   75(点)-   -    -     - 7    2    エラー    60   -   -    -    - 8    2    エラー    60   -   -    -    - 9    4    エラー    55   -   -    -    - E1=RANK(LARGE($C$1:$C$4,ROW(A1)),$C$1:$C$4) G1=LARGE($C$1:$C$4,ROW(A1)) F1=IF(E1="","",INDEX($A$1:$A$4,LARGE(INDEX((C$1:C$4=G1)*ROW($A$1:$A$4),),COUNTIF($E$1:$E$4,E1)-COUNTIF($E$1:E1,E1)+1))) 上記なら、きちんと順位、順位の名前、点数が入ります。 A1=RANK(LARGE($C$1:$C$4,ROW(A1)),$C$1:$C$4) C1=LARGE($C$1:$C$4,ROW(A1)) B6、B7、B8にどういう関数が入りますか? 教えて頂けますか。 他にも何か良い方法がないでしょうか。 1位から100位までありますので、やり方が分からず焦ってます。

  • エクセル関数について

    例えば次の表があって   A   B   C D    E    F   G 1店名 商品名 金額  店名 商品名 合計 2東京 りんご 120 東京 りんご 3大阪 みかん 130 大阪 みかん 4東京 りんご 120 京都 ばなな 5京都 ばなな 150 Gに店名と商品名が合致する合計を出したいので、教えてください。G2のセルには240というようにです。

  • エクセル 同順の場合の順位

    初心者です。順位を付けたいのですが、うまくいきません。教えてください。    A    B    C    D E  F    G 1  社長   2位    60点 - 1位  次長  75点 2  次長   1位    75点 - 2位  社長  60点 3  部長   2位    60点   -   #N/A  #N/A  #N/A 4  係長   4位    55点 - 4位  係長  55点 以上の場合に、以下の別シートに1位から順位をつけたいと思います。 E3=INDEX(A1:C4,MATCH(3,B1:B4,0),2)=#N/A 以上のようにエラーがでます。 1位から100位までありますので、やり方が分からず焦ってます。

  • エクセルでの集計に関して

    こんにちは。いつもお世話になっております。 例えばですが、以下のようなCVSのデータがあります。 (エクセルで開けます。) 昇順 降順に変更可能です。 これが、何週間分かあり、タブがあって日にちごとに見れますが、 30件ほどの品目の、200件ほどのデータが50件ずつにのみ表示されます。 4/1分データ    品名   売り上げ数   りんご1  100    りんご2  200    みかん1  300    みかん2   400    バナナ1  500             次の50件→ -------------------------------------------- 4/2分データ    品名   売り上げ数   りんご1  1000    りんご2  2000    みかん1  3000    みかん2   4000    バナナ1  5000   バナナ2  6000   アボガド  7000   いちご   8000     次の50件→      ↓続く これを、エクセルで下記のようにしたいのです。 ********************************************** ID  品名    4/1分集計 4/2集計  4/3集計  4/4集計  4/4集計~~ A   りんご1  100   1000    300 B   りんご2  200   2000    400  C   みかん1  300   3000    500 D  みかん2   400   4000    600 E   バナナ1  500    5000    700 D  バナナ2        6000    800 E  アボガド       7000    900 F  いちご       8000    1000 日にちによって当然、新たな項目、アボガドやいちごがあったりします。みなさんでしたら、最速で一番簡単に行う為にどうしますか? ちょっといそいでてお知恵をどなたか下さい! ご教授下さいますようお願い致します。

  • LARGEで同じ値の時の順位

    いつもお世話になります。 WINDOWS7 EXCELL2010です。 添付図で説明しますと、 順位(F列)が 3位と4位の E3(2.000) E4(2,000)が偶然に同一金額の時 会社名(B)も同一になる数式です。 この同一の金額の時、 H列で言うと 「A F B C D」もしくは「A F C B D」 とするには何かいい方法ってないでしょうか。 是非ともご指導を仰ぎたいです。 数式は次のようでご参考に F1~F5 はただの数値 G1 =LARGE($E$2:$E$11,F2) H2 =INDEX($A$2:$A11,MATCH(MAX($E$2:$E$11),$E$2:$E$11,0))

  • エクセル のマクロで 複数の表を1つにまとめたい

    エクセル のマクロで 複数の表を1つにまとめたい 下記のようなシートがあります。 Sheet1 A B C E F G I J K 1 日付  品名 数 日付  品名 数 日付  品名 数 2 1/1  みかん 100 1/2 りんご 50 1/1 バナナ 30 3 1/5  みかん 50 1/6 りんご 25 1/7 バナナ 20 4 1/10 みかん 30 1/11 りんご 15 1/10 バナナ 10 5 1/12 りんご 30 1/11 バナナ 10 6 1/13 りんご 50 みかん・りんご・バナナのそれぞれの表をマクロで下記のような1つの表ににまとめたいのですが どのようにしたら良いかご教授お願いいたします。 (初心者なので可能であればマクロ内で’コメント付きで解説いただけると助かります)  M N O 1 日付 品名 数 2 1/1 みかん 100 3 1/1 バナナ 30 4 1/5 みかん 50 5 1/6 りんご 25 6 1/7 バナナ 20 7 1/10 みかん 30 8 1/10 バナナ 10 9 1/11 りんご 15 10 1/11 バナナ 10 11 1/12 りんご 30 12 1/13 りんご 50 うまく説明できないのでイメージ画像を添付いたします。

  • 種類ごとに横に並んだ数字を別シートに縦に変換する方法を教えて下さい

    エクセルシートで、Sheet1に種類ごとに横に並んだ数字があり、そのデータをSheet2の指定のセルに数字の小さい順に縦に並び替えしたいのですが、どのようなVBAを書込んだら可能でしょうか?ご教授願います。 例 Sheet1  A    B    C    D    E    F    G 1 2     りんご  8    3    12 3     みかん 2    9 4     バナナ 4    3    7 5 6  このデータを下記のように変更して貼り付け Sheet2  A    B    C    D    E    F    G 1 2 3           りんご  3 4                 8 5                12 6           みかん  2 7                 9 8           バナナ  3 9                 4 10                7 11

専門家に質問してみよう