• 締切済み

エクセル:関数を教えてください。

もし他に同様な質問をされている方がいて、重複してしまっていたらごめんなさい。 検索しようにも何を使えば良いかもわからない状態なので検索しようがありませんでした。 ランキング表を作成して、関数RANKとVLOOKUPを使用して、ランキングが自動更新できるようにしました。ただ、1回めのランキングで1位から5位までを氏名ではなくABCDEというアルファベット表記で割り振りました。2回めからはそのABCDEの表記でのみランキングを表示したいと考えています。今回のみでしたらどうとでもできるのですが、できればそのランキング表は次回以降人が変わってもひな形として使用したいと思っています。 どなたかご指導いただけますでしょうか?

みんなの回答

  • mt2008
  • ベストアンサー率52% (885/1701)
回答No.2

点のランキングは出せているようですから仮名の上位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)
回答No.1

ご質問の意味がよくわかりませんが次のようなことが参考になりましたら幸いです。 例えば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")))

kankaan07
質問者

補足

ご回答ありがとうございます。 すみません、もう一度質問を説明します。 例えばですが全部で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という仮の名前はそのまま固定になります。 その表示が可能なひな形を作りたいと思ってます。 よろしくお願い致します。

関連するQ&A

  • エクセルのLOOKUP関数について

    LOOKUP関数とVLOOKUP関数はどう違うのでしょうか?わかりやすく教えて下さい。(使用例など)  文字だけの表(2行)から検索したんですが、VLOOKUP関数は検索できたんですが、LOOKUP関数だと間違った検索になってしまうんです‥。

  • エクセル vlookup 関数?

    Excelのバージョン:[2002]  今表を作っていまして、 sheet1に、 A B C 売上 100 200 150 ・・・・ 粗利 30 50 35 ・・・・ 経費 10 40 10 ・・・・ 利益 20 10 25 ・・・・ 粗利ランク 3 1 2 ・・・・ 貢献度ランク 2 3 1 ・・・・ 上記の表を作り、sheet2に、 粗利ランク 氏名 貢献度ランク 氏名 1 B 1 C 2 C 2 A 3 A 3 B ・ ・ ・ ・ ・ ・ ・ ・ ・ ・ ・ ・ ・ ・ ・ ・ 上記のようにランキング表を作りたいのですが、 どの関数で、どのように作れば楽に手間なくできるでしょうか? お知恵を拝借したいと思います。 よろしくお願い致します。

  • Excelの関数について

    sheet1で作成した表の合計数(使用関数:sumproduct)を sheet2で作成している表に反映させたいのですが、 VLOOKUPを使うと必ずエラーになってしまいます。 VLOOKUPと同じような方法で条件ごとに検索して データを引き出す事が可能な関数はないでしょうか? 解り辛いかもですが、よろしくお願いします。

  • エクセルのVLOOKUP関数

    毎度お世話になっています さて、職場で困っています。 エクセルでVLOOKUP関数 引数で検索の型で TRUE を指定し、検索値が見つからない場合は、検索値未満で最も大きい値が使用されます  とあります 3000m 得点 956 100 1003 99 1010 98 1017 97 1024 96 1031 95 1038 94 1045 93 1052 92 1059 91 1106 90 1113 89 1120 88 たとえばこんな表がありまして 実際に走ったのは1005とします 値がないので、この場合は99点になってしまいます これを一ランクしたの98点にしたいのですが どうやってしたら良いのでしょうか? よろしくお願いします 学校で困ってるんですが  1003をクリアしてないので当然98点だと思うのですが よろしくお願いします

  • excelでテストのランキングの表を作りたい

    excel2003で100人ほどのテストの点数のランキングの表を作りたいです。 元の表として「氏名」「点数」「順位」の項目をつくり、氏名、点数は手入力で、順位はRANKという関数で順位を与えました。 そして、その中で上位30位を別の表として「順位(1位から30位)」「点数」「氏名」という項目を作り表作成したいんですけど 点数に該当する氏名の表示方法がわかりません。 ・「順位」→RANKで1位から、30人分を表示(元の表の点数を変えると順位も変わる) ・「点数」→LARGEで点数の高い順に表示(元の表の点数を変えると順位も変わる) ・「氏名」→その点数に該当する氏名を表示する方法がわかりません。また、同じ点数が数名いる場合に氏名が重複しないようにするにはどうすればいいでしょうか。 エクセル初心者です。よろしくお願いします。 わかりにくい説明ですいません、何かあったら補足で説明いたします。

  • エクセル関数VLOOKUPで教えてください。 

    エクセル関数VLOOKUPで教えてください。  シ-ト1にA列から学籍番号・B列に氏名・C列に点数(数値)を記入してあります。 シ-ト2に順位表を作成しA列にLARGE関数を使用してシ-ト1から点数降順(昇順)に表示しました。シ-ト2のB列に学籍番号 C列に氏名 をVLOOKUP関数でシ-ト1から抽出したいのですが、点数が同点の場合に当該複数名を表示せず単一名になってしまいます。VBA・マクロを使用せずに関数のみで同一点数獲得者の氏名を個別個々に表示させる方法を教えてください。

  • エクセルの関数について

    Windows Xp エクセル2003を使用しています。 業務で使用している集計表ファイルがあり、別ファイルにデータを反映させたいのです。 集計表のセルA1を検索値としセルB1とセルB2の値を返す関数はないでしょうか? 集計表のつくりは約1000行あり、セルA3を検索値としてセルB3の値を返す行もあります。 セルA5を検索値とし、B5、B6、B7、C5,C6の値を返す行など様々です。 こういったデータがランダムで表になっています。一つの検索値に対して、検索値の水平方向はvlookup関数で表示出来たのですが、 一つの検索値で2つの値を返す関数が分からず、困っています。 1行下や2行下を検索する関数も参考にしたのですが、集計表のつくりがランダムの為、検索してほしくないものまで表示されてしまうなど、ウマクできませんでした。 宜しくお願いします。

  • Excel ランキング制度 RANK関数

    RANK関数を使ったランキングを作りたいと思っています。 検索しましたが、複数の大会の順位をまとめてランキング順位をつけるといったものが見つからないです。 教えてください。

  • エクセル関数の使い方

    関数を熟知しておりませんので教えて下さい。 元になる表の1行目にある値(A1)を読み込んで2行目(A2)にある値を検索することが出来ません。 VLOOKUPで列の検索は出来るのですが、行の検索は出来ないのでしょうか?

  • エクセルRANK関数の同率順位を別表に抽出する時

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

専門家に質問してみよう