- ベストアンサー
rank関数?
次のような表があって、順位をつけたいのですが、 別シートに順位順の表を自動的に作成する事は可能 なのでしょうか? よろしくお願いいたします。 ↓の表でまず順位をだしてからでも良いのですが 件数 順位 Aさん 5 5 Bさん 0 Cさん 4 6 Dさん 2 7 Eさん 10 1 Fさん 2 7 Gさん 6 4 Hさん 0 Iさん 7 3 Jさん 8 2 別シートに順位順の表を作成したいのです。 順位 件数 1 Eさん 10 2 Jさん 8 3 Iさん 7 4 Gさん 6 5 Aさん 5 6 Cさん 4 7 Dさん 2 7 Fさん 2 何か良い方法があるでしょうか? よろしくお願いいたします。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
技巧的ですが、定番的かな。 Rank関数の同値同番を修正します。 例データ A2:B10 A列 B列 C列 D列(C,D列は下記関数の結果) a 5 503 1 b 3 302 5 c 5 502 2 d 5 501 3 e 2 201 7 f 1 102 8 g 3 301 6 h 1 101 9 i 4 401 4 C2に =(B2&TEXT(COUNTIF($B2:$B$10,B2),"00"))*1 下方向に式を複写 D2に =RANK(C2,$C$2:$C$10) 下方向に式を複写。 *1は数値化するため。 TEXT(COUNTIF($B2:$B$10,B2),"00"))の"00"は同値が1-99個以下という看做しでやってます。999以下予想なら"000"です。 サブ番号を振っていることになります。 ーー 後は、OKWAVEで「imogasi方式」で照会してください。別シートに(ランク数字やカウント個数順数などの)数字順に並べる回答を、沢山私が載せてます。 別シートの行番号(-1)と同じRANK順位番号の行を、別シートに持ってくる関数(組み合わせ)です(INDEX関数とMATCH関数の組み合せ)。
その他の回答 (2)
- telescope
- ベストアンサー率54% (1069/1958)
ピボットテーブルを使ったらどうでしょうか? 元の表にタイトルを入れておきます 氏名 件数 順位 Aさん 5 5 Bさん 0 ・ ・ 「データ」-「ピボットテーブル~」で作成先を「新規のシート」にします。 行のフィールドに「氏名」をデータアイテムに「件数」をドラッグします。 件数を降順で並べ替えます。 順位を表示するなら、左の行にRANK関数で追加します。 元の表を修正したら、「ピボットテーブル」ツールバーの赤い「!」を押せば更新されます。
- somemaru
- ベストアンサー率33% (2/6)
質問の例だと9人ですよね? 対象とするデータが9つだとして、もっとも簡単と思われる(excel内のヘルプを参照すればすぐに解決する)回答例です。 別のシートにそれぞれ参照するセルを絶対値参照して、rank関数で順位をつけたセルを囲んで並べ替えのアイコン「AZ↓」で並べ替える。 順位をつけたいデーターが少ないのであれば、この程度の手順で充分ではないかと思いますが...。もっと「自動化(VBでマクロ化)」されたいのであればまったく参考になりませんが、質問内容から類推しました。失礼があったらお許しを。
お礼
ありがとうございます。 すみません。質問が言葉足らずで・・・・ 人数は100名近くになります。 マクロ化しないとだめでしょうか?