システムメンテナンスのお知らせ

エクセルでランキング表を作りたい。

スポーツ等にあるランキング表を作成したいのですが、初心者の為ググっても理解不能です。申し訳ないです。

イメージ的にはこんな感じです。
左側に選手氏名、上側が大会の名前、各大会のポイントを積み重ねていくと右側に合算ポイントが表示される。
その都度、上位の選手が自動で並び替えられら仕組みを作りたいです。

ググると式とか出てくるのですが、いまいち分からないです。

分かりやすい手ほどきをお願いします。m(_ _)m

gooドクター

A 回答 (4件)

こんにちは!



横からお邪魔します。
別シートに表示してもよいのであれば、並び替えまで関数で可能です。

実際の配置が判らないので、やり方だけ・・・
↓の画像のように元データはSheet1にあり、Sheet2に表示するとします。
Sheet1のG列の高得点順に表示させる方法です。
(同順位の場合は上側のデータが先に表示されます)

Sheet2のA2セルに
=IFERROR(RANK(C2,C:C),"")

B2セルに
=IF(C2="","",INDEX(Sheet1!A$1:A$100,SMALL(IF(Sheet1!G$1:G$100=C2,ROW(A$1:A$100)),COUNTIF(C$2:C2,C2))))

※ 注→ B2セルだけが配列数式なので、Ctrl+Shift+Enterで確定しておきます。

C2セルに
=IFERROR(LARGE(Sheet1!G:G,ROW(A1)),"")

という数式をそれぞれ入れ、A2~C2セルを範囲指定 → C2セルのフィルハンドルで下へコピー!

これで画像のような感じになります。m(_ _)m
「エクセルでランキング表を作りたい。 スポ」の回答画像4
    • good
    • 0
この回答へのお礼

これ見て試してみます!
教えて頂きありがとうございますm(_ _)m

お礼日時:2017/12/07 16:37

マクロに頼らなくても、


入力欄と表示欄を別にすれば良いでしょう。

入力欄には順位に関係なく常に同じ順番で並んでいる。
別の場所に上位の人から並べる表を作る。

こんなんでOK。
入力用のシートと順位表示用のシートに分けると見た目が綺麗になるでしょう。

・・・
てことで、とりあえず試作してみてください。
試作する中で、何か困ることがあると思います。
例えば、
 ・別のシートのセルをどうすれば参照できるか…。
 ・順番に並べ替えるときに使う関数は何を使えばいいのか。
など。

まずはどんな関数があるのかを関数の一覧が書いてあるものを見ながら考えてみましょう。
使えそうな関数がいくつか見つかると思います。
それを実際に使ってみて、うまくいけばヨシ、うまくいかなければ他を使う。
どうしてもうまく使えないのであれば、使いたい関数を指定して、
どう使えば思った通りの動作をするかを【改めて質問】するようにしてみましょう。

自分で問題を解決しようとする人に、このQ&Aサイトは優しいですよ。
しかし「ぜ~んぶ代わりに作って♪」と言う人には厳しいです。
がんばれ。
    • good
    • 0
この回答へのお礼

忙しい中ありがとうございます。
試してみます!

お礼日時:2017/12/07 16:36

>ググると式とか出てくるのですが、いまいち分からないです。


その式がどのように分からないのかを
そこのURLと、ご自分なりに理解した事とを
合わせて開示していただかないと
恐らく答えられません。

だって答える人はその文章に
なんの疑問もわかない方々ですから。
    • good
    • 0
この回答へのお礼

ありがとうございます。
今後はそのように問いかけてみます!

お礼日時:2017/12/07 16:35

順位を表示するだけなら関数で簡単に出来ると思いますが、自動で並び替えるのはマクロ(VBA)を使うようだと思います。


ただ順位さえ出してしまえば簡単にソートできますけどね!
    • good
    • 0
この回答へのお礼

お忙しい中、教えて頂きありがとうございますm(_ _)m

お礼日時:2017/12/07 16:33

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

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

gooドクター

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