- ベストアンサー
エクセルRANK関数を利用して同率順位を別表に抽出する方法
- エクセル2003を使って同率順位の店名を抽出する方法について教えてください。
- ランキング表を作成しているのですが、RANK関数を使って順位を出しています。しかし、同率の順位が重複して表示されています。1~5位の順位表を作りたいのですが、3位以下の重複した順位の店名が表示されません。どのようにすれば解決できるでしょうか。
- 表示する順位表は「あいうえお順(A~Zの若い順)」で作成したいです。どのようにすれば実現できるでしょうか。エクセル初心者なので、わかりやすく教えていただけると助かります。
- みんなの回答 (4)
- 専門家の回答
質問者が選んだベストアンサー
No.1です。 たびたびごめんなさい。 投稿後気になったのですが、前回の方法はE列の順位は必ず1~5までという前提ですので、 同順位でも表示上はランクの差が出てしまいます。 E列順位はC列の順位そのものを表示させるのが一般的だと思いますので、 もう一度やってみました。 ↓の画像でC列は小細工せずにRANK関数だけにしてC2セルに =RANK(B2,B:B) という数式を入れフィル&コピーしています。 そしてE2セルに =SMALL(C:C,ROW(A1)) F2セルに =INDEX(A$1:A$50,SMALL(IF(C$1:C$50=E2,ROW(A$1:A$50)),COUNTIF(E$2:E2,E2))) これは配列数式になってしまいますので、Shift+Ctrl+Enterで確定! この画面からコピー&ペーストする場合は、 上記数式をドラッグ&コピー → F2セルを選択 → 数式バー内に貼り付け → そのまま(編集可能なまま) Shift+Ctrlキーを押しながらEnterキーで確定! 数式の前後に{ }マークが入り配列数式になります。 最後にE2・F2セルを範囲指定 → F2セルのフィルハンドルで下へコピーすると 画像のような感じになります。 こんな感じではどうでしょうか?m(_ _)m=
その他の回答 (3)
- kagakusuki
- ベストアンサー率51% (2610/5101)
今仮に、元の表がSheet1上にあり、Sheet3のA列とC列を作業列として使用して、Sheet2に別表を表示させるものとします。 まず、Sheet3のA列に、全ての店名を「あいうえお順(A~Zの若い順)」に並べたリストを作成して下さい。 次に、Sheet3のC2セルに次の関数を入力して下さい。 =IF(AND(INDEX(Sheet1!$A:$A,ROW())<>"",ISNUMBER(INDEX(Sheet1!$C:$C,ROW()))),IF(COUNTIF($A:$A,INDEX(Sheet1!$A:$A,ROW())),INDEX(Sheet1!$C:$C,ROW())*10000000+MATCH(INDEX(Sheet1!$A:$A,ROW()),$A:$A,0),""),"") 次に、Sheet3のC2セルをコピーして、Sheet3のC3以下に貼り付けて下さい。 次に、Sheet2のA2セルに次の関数を入力して下さい。 =IF(ROWS($2:2)>COUNT(Sheet3!$C:$C),"",INDEX(Sheet1!$A:$C,MATCH(SMALL(Sheet3!$C:$C,ROWS($2:2)),Sheet3!$C:$C,0),COLUMNS($A:A))) 次に、Sheet2のA2セルにをコピーして、Sheet2のB2~C2の範囲に貼り付けて下さい。 次に、Sheet2のA2~C2の範囲にをコピーして、同じ列範囲の3行目以下に貼り付けて下さい。 これで、Sheet2上に別表が表示されます。
お礼
お礼が遅くなって申し訳ございませんでした。 丁寧な説明ありがとうございます、無事解決しました。 ありがとうございます。
- keithin
- ベストアンサー率66% (5278/7941)
たとえばA1からA26に「重複していない」店名を記入 B1:B26に数字を記入 B列が一番大きいと1位という風に大きい方から順位を付けているとして C1に =COUNTIF(B:B,">"&B1)+SUMPRODUCT(($A$1:$A$26<A1)*($B$1:$B$26=B1))+1 と記入,C26までコピーすると「重複しない順位」が計算できるので,1から5までINDEX(MATCH)で取って下さい。 #補足 >「あいうえお順(A~Zの若い順)」で表示できれば 読み仮名順で計算したいときは,ふりがな列を別途設けて,そちらで計算して下さい。
お礼
お礼が遅くなりましてもうしわけございませんでした。 無事解決いたしました。 ありがとうございます。
- tom04
- ベストアンサー率49% (2537/5117)
お礼
お礼が遅くなりまして申し訳ございませんでした。 上手くいきました。。。 ありがとうございます!!