- 締切済み
エクセル:関数を教えてください。
もし他に同様な質問をされている方がいて、重複してしまっていたらごめんなさい。 検索しようにも何を使えば良いかもわからない状態なので検索しようがありませんでした。 ランキング表を作成して、関数RANKとVLOOKUPを使用して、ランキングが自動更新できるようにしました。ただ、1回めのランキングで1位から5位までを氏名ではなくABCDEというアルファベット表記で割り振りました。2回めからはそのABCDEの表記でのみランキングを表示したいと考えています。今回のみでしたらどうとでもできるのですが、できればそのランキング表は次回以降人が変わってもひな形として使用したいと思っています。 どなたかご指導いただけますでしょうか?
- みんなの回答 (2)
- 専門家の回答
みんなの回答
- mt2008
- ベストアンサー率52% (885/1701)
点のランキングは出せているようですから仮名の上位5名が判ればいいんですよね? 入力シートが添付の図のようになっているとして、G2に↓を入れてG2:K27にコピー。 =SUM($B2:B2)-ROW()/9999 L2に↓を入れてL2:L27にコピー。これが仮名になります。 =CHAR(64+RANK(G2,$G$2:$G$27)) G29に↓を入れてG29:K29にコピー =INDEX($L$2:$L$27,MATCH(LARGE(G$2:G$27,ROW()-28),G$2:G$27,0)) これが、1回目から5回目までの上位5名になります(2回目以降は過去の合計点で順位つけています)。 ・同点の場合、表の上の方に居る人を上位としています。 ・アルファベットを仮名に使用しているので、最大26名としています。
- KURUMITO
- ベストアンサー率42% (1835/4283)
ご質問の意味がよくわかりませんが次のようなことが参考になりましたら幸いです。 例えばA1セルから下方に点数が入力されているとして、B列に1位から5位までのランクを表示するのでしたら通常はB1セルに次の式を入力し下方にドラッグコピーします。 =IF(A1="","",IF(RANK(A1,A:A,0)>5,"",RANK(A1,A:A,0))) このような表示をやめて1位にはA、2位にはB…と表示させるのでしたらB1セルには次の式を入力して下方にドラッグコピーすればよいでしょう。 =IF(A1="","",IF(RANK(A1,A:A,0)>5,"",CHOOSE(RANK(A1,A:A,0),"A","B","C","D","E")))
補足
ご回答ありがとうございます。 すみません、もう一度質問を説明します。 例えばですが全部で4回テストをするとします。 テストの項目は5個で、合計点で競い合います。 項目1 項目2 項目3 項目4 項目5 Y田さん 3,5 4,5 1,5 2,0 3,0 C野さん 4,0 1,6 3,7 4,8 2,9 T中さん 3,9 5,2 4,0 2,8 4,0 これを自動的にランキングして並び替えられる表を作りました。 ただ氏名はまだ明かしたくないので1位から順にA、B、Cと仮の名前をつけました。 2回目以降点数によって順位はもちろん変わりますが、 A、B、Cという仮の名前はそのまま固定になります。 その表示が可能なひな形を作りたいと思ってます。 よろしくお願い致します。