どなたか教えて下さい。
エクセルで順位表を作りたいのですが、
・1枚目のシートには全成績を
・2枚目のシートに成績上位順に並び替えた形の
順位表を作成したいのですが、簡単な方法ないでしょうか?
各部門別上位10傑といった感じの順位表を作りたいのです。
分かりにくい表現で申し訳ございませんが、ひとつ知恵を
拝借させて頂けないでしょうか?
宜しくお願い致します。

A 回答 (6件)

 私はRANK関数で出した順位に、COUNTIF関数で表示補正を設定し、VLOOKUP関数で一覧表示しいてます。



A~E列を記録欄、F~I列を表示欄とします。シート間でも応用できます。
  A    B    C    D    E    F     G   H   I
1 並順  補正  名前  得点 順位  並順  順位 名前 得点
2  5    0    相川   50  5     1    1  尾崎  90
3  4    0    井上   60  4     2    2  内田  70
4  2    0    内田   70  2     3    2  江藤  70
5  3    1    江藤   70  2     4    4  井上  60
6  1    0    尾崎   90  1     5    5  相川  50

記録欄
 A列はE列:順位とB列:補正値を足した並び順になります。【 例A2:=E2+B2 】
 「内田」と「江藤」は同点2位(3位無し)ですが、並び順はそれぞれ、2番目3番目となります。

 B列は該当の「得点」と同じものが表のD列上方(下方は無視)に何個あるか検索します。
 COUNTIF関数を使います【 例B2:=countif(D$2:D2,D2)-1 】-1は検索条件自身を除外するため。
 ここでは「内田」の上方には70点はいませんが、「江藤」の上方には「内田」の70点が1個あります。

 C列は、名前欄。D列は得点欄です。

 E列は RANK関数【 例E2:=rank(D2,D$2:D$6) 】で処理(※D$6:得点欄の最後のセル)

表示欄
 F列は表示したい番号を指定(順位ではありません)。
 G列~I列は VLOOKUP関数を使った記録欄の抽出です。
 【 例G2:=VLOOKUP(F2,$A$2:$E$6,5,FALSE) 】(順位:指定範囲5列目)
 【 例H2:=VLOOKUP(F2,$A$2:$E$6,3,FALSE) 】(名前:指定範囲3列目)
 【 例I2:=VLOOKUP(F2,$A$2:$E$6,4,FALSE) 】(得点:指定範囲4列目)
 (※$E$6:記録欄の最後のセル)

 D列の得点が変更になり、順位が変動するとG~I列の表が並び替えられます。
 表示欄を別シートに作る場合は、VLOOKUP関数の範囲領域にシート名も指定します。
    • good
    • 3

1枚目のシート=sheet1、2枚目のシート=sheet2 で、


sheet1のA1~A100に全データが入っていて、
sheet2のA1~A10に上位10人を表示させるとした場合

A1~A10の内容に以下の式を入れます。
=LARGE(Sheet1!A$1:A$100,ROW())

順位表の上にタイトルをつけるなどして、行番号=順位と
ならない場合は ROW() を ROW()+1 などとして行数分の
数字を足して下さい。

LARGE関数:
=LARGE(範囲,順位)
1 組のデータの中で 順位 番目に大きなデータを返します。LARGE 関数を利用すると、相対的な順位に基づいて、データの中から特定の値を選択することができます。たとえば、LARGE 関数を使って、テストの最高点、第 2 位または第 3 位の得点などを調べることができます。

ROW関数:
=ROW(範囲)
引数として指定された 範囲 の行番号を返します。
範囲 を省略すると、ROW 関数が入力されているセルの行番号が返されます。
    • good
    • 0
この回答へのお礼

ありがとうございます!
参考になりました。教えていただきました関数で
順位表を作成してみます。

お礼日時:-0001/11/30 00:00

 補足を読ませていただきましたが、日々更新されるというなら、毎度毎度のその一連の操作をマクロに登録してしまえばいいのでは?


 あと、もし、エクセルでなくて、アクセス(データベースソフト)があるなら、こちらなら、思い通りの順位表が出来ると思いますよ。
    • good
    • 0

やり方はいろいろあると思いますが、全成績を入力したシートを新しいシートにコピーしてそのデータを並び替えるのが一番手っ取り早いのではないでしょうか。


 簡単ですいません。

この回答への補足

ありがとうございます。おっしゃるとおりなんですが、日々データの更新が有る為、毎度毎度操作しなくていいような方法がない物かと思っているのです。
データ入力さえすれば即時に反映されるような形です。
すみません、表現力がなくて伝わりにくいかとは思いますが、ひとつ宜しくお願い致します。

補足日時:2000/10/04 15:45
    • good
    • 0

お役に立つかもしれない情報・・・



RANK関数

【書 式】=RANK( 数値, 範囲, 順序 )
【使用法】順序に従って範囲内の数値を並べ替えたと
     き、数値が何番目に位置するかを返します。

無料のシートを拝借する手も・・・

・教科成績処理プログラム(for Microsoft Excel)

http://www.d1.dion.ne.jp/~r_iso/tedukuri/kyouka. …
    • good
    • 0

データ>フィルタ>オートフィルタ


でトップテンも選べます。

どういう使い方するのか分からないのであれなんですけど
1枚のシートで充分やれると思います。
ま複数のシートに分けたいのなら
その都度見たい条件でオートフィルタを
かけてそのデータ2枚目以降にコピーすればどうで
しょう。
    • good
    • 0

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

このQ&Aを見た人はこんなQ&Aも見ています

今、見られている記事はコレ!

おしトピ編集部からのゆる~い質問を出題中

お題をもっとみる

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


このQ&Aを見た人がよく見るQ&A

このカテゴリの人気Q&Aランキング

おすすめ情報

カテゴリ