
お世話になります。
エクセル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の若い順)」で表示できればと思っております。
無知で恐縮なのですが、情報不足の点等あればご指摘いただきたく存じます。
お詳しい方、ご教授宜しくお願い致します。
No.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=

No.3
- 回答日時:
今仮に、元の表が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上に別表が表示されます。

No.2
- 回答日時:
たとえば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の若い順)」で表示できれば
読み仮名順で計算したいときは,ふりがな列を別途設けて,そちらで計算して下さい。
No.1
- 回答日時:
こんばんは!
一案です。
ランク関数に少し手を加えてみてはどうでしょうか?
↓の画像でC2セルに
=RANK(B2,B:B)+ROW()/1000
という数式を入れオートフィルで下へコピー!
そして「小数点以下の表示桁数を減らす」で整数表示にしています。(赤丸部分)
最後にF2セルに
=INDEX(A:A,MATCH(SMALL(C:C,ROW(A1)),C:C,0))
という数式を入れオートフィルで下へコピー!
これで画像のような感じになります。m(_ _)m

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- PHP 【スプレッドシート】順位のつけ方 2 2022/08/17 13:27
- Excel(エクセル) エクセル関数の変わった使い方 3 2022/05/13 17:12
- Excel(エクセル) エクセル、日々の集計整理方法。(再送です。) 5 2022/10/02 00:19
- Visual Basic(VBA) エクセルマクロでアニメを作る方法を教えてください。 1 2023/02/07 14:27
- Excel(エクセル) RANK.EQとCOUNTIFSの組み合わせで同ポイントの場合、違う条件を加えて順位を付けたい。 1 2022/08/30 19:49
- Access(アクセス) AccessVBAで降順にするテーブル作成クエリを使用して作成したテーブルを削除し同一のテーブル作成 1 2023/01/06 11:17
- Excel(エクセル) エクセルで重複データから重複を削除して指定の列に抽出したい 11 2022/05/11 11:26
- Visual Basic(VBA) エクセルVBAについて 2 2023/01/31 16:21
- その他(Microsoft Office) ランクイコール関数について教えてください。 例えば A、B組があったとして、1、2、3班に分かれてい 2 2023/07/05 21:33
- Excel(エクセル) 出退勤管理の遅刻・早退時間について 3 2023/08/10 15:33
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
9月17日でサービス終了らし...
-
エクセル ドロップダウンリスト...
-
特定のセルだけ結果がおかしい...
-
エクセル
-
エクセルのdatedif関数を使って...
-
【マクロ】アクティブセルの時...
-
【関数】同じ関数なのに、エラ...
-
エクセルの循環参照、?
-
【マクロ】WEBシステムから保存...
-
iPhoneのExcelアプリで、別のシ...
-
【マクロ】3行に上から下に並...
-
【マクロ】A列にある、日付(本...
-
【条件付き書式】シートの中で...
-
【マクロ】EXCELで読込したCSV...
-
【エクセル】期限アラートについて
-
【マクロ】列を折りたたみ非表...
-
Excelファイルを開くと私だけVA...
-
Excelの新しい空白のブックを開...
-
マクロ・VBAで、当該ファイルの...
-
派遣会社とかハローワークとか...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Excelファイルを開くと私だけVA...
-
エクセルについてどう関数を使...
-
マクロ・VBAで、当該ファイルの...
-
エクセルのセルに画像は埋め込...
-
エクセルで、一部のセルだけ固...
-
【マクロ、画像あり】A表かB表...
-
エクセルでカウントする
-
【マクロ】コードを少しでも、...
-
VBA_日時のソート
-
エクセルで教えてください。 例...
-
エクセル 月間シフト表で曜日ご...
-
セルの左に余白を付ける
-
エクセル
-
エクセルについて教えてください
-
2枚のエクセル表で数字をマッチ...
-
ExcelのIF関数との組み合わせの...
-
エクセルのファイルのコピーを...
-
エクセルで二つのブックの違い...
-
空白処理を空白に
-
Excelのチェックボックスについ...
おすすめ情報