- ベストアンサー
平均点上位5位を抽出
いつもお世話になっております。 シートAに学生CD、名前、性別、国数社理英の点数とその5教科の合計と平均点からなるデータがあり、シートAをソートやランク関数を使わずにシートBに平均点の上位5名のデータを抽出したいのですが、方法がわかりません。ネットや書籍を見ましたが解決策は見つかりませんでした。方法をご存じの方ご教授お願いいたします。
- kazuaki_kazu
- お礼率77% (7/9)
- オフィス系ソフト
- 回答数4
- ありがとう数3
- みんなの回答 (4)
- 専門家の回答
質問者が選んだベストアンサー
#2の方が既に書いていますが、オートフィルターをかけ、平均点の項目でトップテンを選択し、5位までを指定して、一覧を表示。 5位までを表示した一覧表全体を選択して、コピーして、シートBに貼り付け。その後、シートBを降順で並び替えると、お望みのようになるかと思います。
その他の回答 (3)
- 134
- ベストアンサー率27% (162/600)
ソートも関数もダメ とは、どういう方法をお望みなのか、よく分かりません。 マクロを使って、データを抽出し、列記させる…のが、お望みなのでしょうか。 マクロを使うにしても、セル構成は不明。(というか、マクロを作って欲しいという趣旨なら、丸投げ質問?) もともとエクセルは、データを抽出して並び替えるのは苦手で、アクセスの方が得手といえます。 質問が、今ひとつ不明な部分が多いので、補足が必要ではないかと思います。
お礼
申し訳ありません。 実を申しますと、これは私が受ける情報処理の競技会の練習問題でどうしてもわからいところなので、こちらで質問させていただきました。 134様のいうようなマクロではなくエクセルの問題なのですが、模範解答を見ましても、元データをソートしたり、関数を利用している形式がないので、おそらくフィルターオプションの設定を利用するものと考えております。 お手数をおかけして申し訳ありませんでした。
- kisoyasa
- ベストアンサー率33% (1/3)
はずしていたらすみません。 オートフィルタで、トップテンではだめですか。
- maron--5
- ベストアンサー率36% (321/877)
◆Sheet1 A B C D E F G H I J 1 学生CD 名前 性別 国 数 社 理 英 合計 平均 2 1001 山田 男 65 57 58 69 54 303 60.6 3 1002 岡田 女 74 48 74 78 41 315 63 4 1003 田中 男 85 76 63 54 65 343 68.6 5 1004 藤井 男 52 85 72 72 34 315 63 6 1005 山下 女 34 66 45 67 75 287 57.4 ◆Sheet2 A B C D E F G H I J 1 学生CD 名前 性別 国 数 社 理 英 合計 平均 2 1003 田中 男 85 76 63 54 65 343 68.6 3 1004 藤井 男 52 85 72 72 34 315 63 4 1002 岡田 女 74 48 74 78 41 315 63 ★Sheet2のA2の式 A2=INDEX(Sheet1!A$2:A$6,MATCH(LARGE(Sheet1!$J$2:$J$6+ROW(Sheet1!$J$2:$J$6)*10^-5,ROW(Sheet1!A1)),Sheet1!$J$2:$J$6+ROW(Sheet1!$J$2:$J$6)*10^-5,0)) ★この式は「配列数式」です。式を入力後 Shift+Ctrl を押しながら Enter を押してください ★式が確定すると、式の両端に { }がつきます ★式を確定後、右と下にコピーしてください ◆上位3人にしていますので後は、実際にあわせて変更してください
お礼
回答ありがとうございます。 申し訳ありませんが、関数関係も使用しないで出したいんです。 せっかく回答していただいたのに申し訳ありません。
関連するQ&A
- エクセルで平均点を出す。
こんにちは、いつもお世話になっております。どなたかご教授ください。エクセルで10人分の評価のチェックシートがあり、各シートの平均点を出す作業をしていたのですが、チェックがされて無い項目がそれぞればらばらに存在しており、それは0点では無いので各人の総合点数が異なってくる状態です。たとえばAさんは65点/70点だけど、Bさんは70点/100点という風に。10個項目があったとして、F5がチェックをして無い項目とするとF1~F4までと、F6~F10までの合計の平均、という風に出すべきだと思うのですが、人によってその項目が異なり、いちいち計算するのも面倒なのでなにか手軽な方法は無いでしょうか?
- ベストアンサー
- オフィス系ソフト
- エクセルの他シートを参照する関数を教えて下さい。
3枚のシートで成績を付けています。 シート「あ」 … テストの点を入力し、合計する シート「い」 … シート「あ」の合計点数によってランクを付ける シート「う」 … 個人の情報一覧 1、シート「う」のA1セルに名前、A2セルに性別、A3セルに年齢を入力する(10人分) 2、シート「あ」に入力規則を設け、名前をリストより選ぶと、性別、年齢が自動入力される 3、シート「あ」に個人のテストの成績を入力する 4、シート「あ」の合計により、シート「い」にランクを自動で付ける 5、シート「う」のA4セルにランクを自動入力 4、まではできているのですが、5ができません。 シート「あ」にaさんの名前を入力して、テストの点数を入力したら、 シート「い」に表示されるランクを、シート「う」のA4セルに転載したいのです。 そして次、シート「あ」にbさんの名前を入力して…としたときに シート「う」のaさんの情報は残ってほしい。 これを10人分行うと、シート「う」に10人分のランクが記載されている。 というものを作ろうとしています。 ややこしい書き方をしましたが、どなたかご教授下さい・・・
- ベストアンサー
- オフィス系ソフト
- [vba]任意の順位でセルを抽出したい
下記のデータがあるとします。これを理科の点数順位で上位x位まで新たに書き直したい。 (sheet1) A B C D E F G 1 ___ 国語 算数 理科 社会 英語 2 たかし 75 67 47 96 77 3 ひろし 46 78 65 67 87 4 やすし 78 98 33 95 90 5 しおり 65 78 67 89 98 6 まなみ 88 56 78 98 76 ↓ (異なるシート:sheet2へ) A B C D E F G 1 ___ 国語 算数 理科 社会 英語 2 まなみ 88 56 78 98 76 3 しおり 65 78 67 89 98 4 ひろし 46 78 65 67 87 'この場合、理科の点数上位3位までを抽出 Sub test11 () Dim a As Worksheet, b As Worksheet Dim c As Range Set a = Sheets("sheet1") Set b = Sheets("sheet2") Set c = a.Range("E2", "E6") '理科の点数範囲 For x = 1 To 3 '上位3位まで WorksheetFunction.Large(r, x) この先、large関数やrank関数を使って組んでみようと試みましたが うまくいきませんでした。いい方法がありましたら教えてください。よろしくお願いします。
- 締切済み
- オフィス系ソフト
- 中学生の定期テスト 順位(平均点)出してくれますか?
今年から息子が公立中学に通っています。(私は30代後半) 先日期末テストがありました。(未だ3学期制です) 私が中学生の時は定期テストのあとは必ず教科ごとに平均点がでたり 合計点数の順位などが出されていましたが 息子の中学では順位どころか平均点すらだしません。 もっとすごいのはテストの点数も出していない教科もあります。 (自分で横に書かれている数字を計算して点数をだす) 数学は74点満点、保健体育は38点満点など期末テストで100点満点は確か理科のみでした。 私の頃は先生の問題数の間違いで98点満点などになることもごく稀にはありましたがほとんど100点満点でした。 そこで質問です。 あなたの(お子さんの)中学では定期テストの平均点、順位はだしていますか? ※どちらが良いかではなく現状を教えていただきたいです。
- ベストアンサー
- アンケート
- こんな表で一気に平均値出せますか?【エクセル】
こんな表で一気に平均値出せますか?【エクセル】 例えば、1行目から1万行目まで100人の人のあるデータが100行ずつ入っているとします。 A列=人名、B列=点数とします。 A列の1行目から100行目までを仮に【No.1】として、B列の1行目から100行目までランダムに点数が入っています。そして、この【No.1】の平均点を出したくて、C列の1行目に=AVERAGE(B1:B100)として、平均点を出します。 次に、【No.2】として101行目から200行目までのデータの平均点をC列の101行目に出します。 用は、このように【No.1】~【No.100】のそれぞれの平均点を出したいのですが、簡単にできる方法はありますか? オートフィルタで【No.1】~【No.100】まで、それぞれ抽出して、式を入れればいいのですが、何しろ数が多いので、もっと簡単にできる方法があるか聞いてみました。 実際のデータは、100人以上いるし、データもそれぞれ100ぴったりではありません。 分かりにくい説明かもしれませんが、よろしくお願いします。
- ベストアンサー
- オフィス系ソフト
- テストの点数や、内申点が伸びないのですが
こんにちは。rozetと申します。 タイトルどおりの質問なのですが テストの点数や内申点がのびません。 テストは一教科60点満点の五教科 (国語数学理科社会英語)です。学力テストの点数は 国語41点 数学15点 理科43点 社会38点 英語38点の合計175点です。ランクはGの上段です。 今回の総合A(受験の参考にされるテスト)では 数学14点 英語36点 理科30点の最悪な点数です。 (国語社会はまだ返ってきていません) 僕が目指しているのは最低ランクGかFで 合格点数平均が140から156の工業高校の電気科です。 大して難しくはありませんが、このままではものすごく不安です。 いい勉強方法や参考書をご存知の方 この厨房に教えていただけないでしょうか。
- 締切済み
- 中学校
- excelでテストの成績処理をしたいのですが
私は塾の講師をしているのですが、毎日、生徒に5教科の小テストを行っています。 それで、毎日、5教科のそれぞれの点数と合計点数を打ち込んで、壁に張り出しています。 そのデータは、一つのブックに日付けごとでシートを分けて保存してあります。 今回、その日付別の表のデータから、毎回の成績を生徒別の表に変えて、プリントにして生徒一人一人に配ろうかと考えています。ですが回数と人数がとても多いので、一人一人「コピー→貼り付け」を繰り返していたのでは時間がかかりすぎます。 なので、マクロで自動的にやりたいと考えたまではいいんですが、実際どういうプログラムにすればいいのか皆目検討がつきません。 表の形はすべて、A列に順位、B列に名前、C列からG列までが各教科の点数、H列にSUM関数で合計点数。最後の行に各教科と合計の平均点を関数で出している。という表です。 表はすべて名簿の順にソートしてあります。 これらの表から一人一人の毎回の点数を取り出して、自分の毎回の点数が縦に並んでいる別の表を作成したいのです。 どういうやり方をすればいいのでしょうか?
- ベストアンサー
- オフィス系ソフト
- こんな平均値の求め方を教えてください。
病院に勤務しているのですが、患者さんの状態の改善率の平均を計算したいと思っています。 具体的には患者一人につき100点満点で評価する評価方法があり、前回と今回の記録から改善率(1日に何点改善したか)を計算します。 [改善率(単位:点/日)] = ([今回の点数] - [前回の点数])÷ ([今回の日付] - [前回の日付]) =[点数差] ÷ [日数] その後、全体の改善率の平均値を求めるには下記のどちらが正しいのでしょうか? (1) [改善率の合計] ÷ [人数] (2) [点数差の合計] ÷ [日数の合計]
- ベストアンサー
- 数学・算数
お礼
回答ありがとうございます。 模範解答を見たら学生CDでソートされていましたので、134さんのおっしゃる通りでした。 確認をさず質問してしまい申し訳ありませんでした。