• 締切済み

成績処理

成績処理で困ってます。 添付画像のようにA1:B6の中から60点以下の学生の氏名を抽出し、結合したD2の位置に連続して表示させるようなエクセルの関数かマクロがあれば至急どなたかお教え頂きたいのですが・・・ よろしくお願いいたします。

みんなの回答

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

Sub Sample()   Dim sString As String 'この変数に60点以下の氏名を結合した文字列を入れます。   Dim i   For i = 2 To 6 '2行目~6行目までが対象   '対象行のB列の値が60以下なら変数sStringに、A列のデータ(氏名)+「,」を追加     If Cells(i, 2) <= 60 Then sString = sString & Cells(i, 1) & ","   Next i   '変数sStringが空でなければ最後の「,」を削除(例:B,C,→B,C )   If Len(sString) > 0 Then sString = Left(sString, Len(sString) - 1)   Range("D2") = sString 'セルD2に変数sStringの値を反映 End Sub コレで良いですか? それとも、マクロの使い方が不明?

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

マクロでやろうと思うと以下の様になります。 Sub Sample()   Dim sString As String   Dim i   For i = 2 To 6     If Cells(i, 2) <= 60 Then sString = sString & Cells(i, 1) & ","   Next i   If Len(sString) > 0 Then sString = Left(sString, Len(sString) - 1)   Range("D2") = sString End Sub 集計表示の方法を考え直した方が良いと思います。Excel的ではありません。

haruhimeyo
質問者

補足

すみません、素人なものでもう一つ質問なのですが、上記のマクロの意味が分かっていません。できましたら説明頂ければ幸いです。

  • yambejp
  • ベストアンサー率51% (3827/7415)
回答No.1

オートフィルタを使えば楽ですが、元表をいじりたくないなら D1に「点数」、D2に「<=60」と記入し フィルタの詳細で、リスト範囲に「A1:B6」、検索条件範囲に「D1:D2」を指定 抽出先を「指定した範囲」に変更して、抽出範囲に「F1」を指定し「OK」すると 該当データが抽出されます

関連するQ&A

  • エクセルで成績処理をするのに・・・

    いつもお世話になっております。 文章だけで書くのは難しく、伝わりにくいかもしれませんが、今、このようなことで悩んでいます。いい方法があれば、教えてください。 成績一覧表をエクセルで作りました。 B1のセルから横に(C1、D1…と)、氏名を入力しました。 A2のセルから下へ(A3、A4…と)、評価項目を入力しました。 そして、氏名と、項目とのクロスする部分に◎、○、△のいずれかの記号を入力しました。 1学期にこれを作り、2学期には、1学期のものをコピーして、評価した部分(◎、○、△)だけを全部クリアし、新たに2学期の分を入力し直しました。 3学期も、同じようにして、3学期の分を作ろうと思うのですが、それとは別に、一人の子について、1学期、2学期、3学期が一度にわかるようなものも作りたいと思います。 つまり、例えばB1、C1、D1のセルを結合し、ここに氏名を入れ、B2には1学期の評価、C2には2学期の、D2には3学期の評価が入るようにしたいのです。新たに作るよりもと思い、1学期のものを加工したのですが、まず、列を2列ずつ挿入し、次に氏名のところを結合し、次に一人ずつ2学期の評価をコピーして、加工したシートに貼り付けるという作業を行いました。これですと、クラスの人数分、同じ作業を繰り返すことになりますよね。マクロを使えば何とかなるのかもしれませんが、マクロについては全く知識がないので、もっといい方法があればと思います。 わかりにくいかもしれませんが、いいアドバイスがあれば、よろしくお願いします。

  • EXCEL2007で画像処理(スムージング処理)

    EXCEL2007でスムージング処理 今,仮に320×256の各行列に整数が入力されているとします. これを画像処理にあるメディアンフィルタを使ってスムージング処理を行いたいのですができるでしょうか? エクセルのマクロや関数は全く扱ったことがないのでどのようにやればよいか分かりません. エクセルで画像処理をやったことがある方お助けください.

  • エクセル・ハイパーリンクの関数処理

    エクセル・ハイパーリンクの関数処理 Excel 2007を使っています。 セルC列にハイパーリンクを含むデータが並んでいます。 このURLをD列に取り出したいのですが、 関数処理で出来ますか。出来るのでしたら教えてください。 出来ない場合は、マクロでも結構です。お願いします。

  • エクセル 成績順に並べ変えたい

    エクセルの勉強中です。 添付のように成績表ができました。 表の活用段階ですが、氏名を成績の良い順に上から表示するには、どうすればよいのでしょうか。昇順/降順を使用するのでしょうが、その使用方法が解りません。教えて下さい。

  • Excelを使用していますが、二つの列の項目を一つにまとめる簡単な方法

    Excelを使用していますが、二つの列の項目を一つにまとめる簡単な方法はありますか? 添付画像のような感じで、A列とB列の項目をC列にまとめたいです。実際のデータは1000件近くあります。重複している項目は1つのみ抽出し、マクロや関数で処理できればうれしいのですが。 宜しくお願い致します。

  • 多数のエクセルファイルからデータ抽出するマクロ

    一つのフォルダの中に 同じフォームのエクセルファイルが多数あり、 全エクセルファイル内のセルから値を抽出し、 別の新規エクセルファイルに次々と収集する方法はないでしょうか? コピペだと大変な作業なのでマクロで出来ないかと考えてます。 抽出元ファイルで 申し込み番号とIDの位置はA2,G1と決まっているのですが 合計税込金額はB列ですが表示行は変動します。 またその金額はSUM関数で表示されています。 それらを抽出したの新規エクセルファイルには マクロを実行した日付を自動で挿入されるようにしたいのですが 可能でしょうか? 完成イメージとして画像を添付しました。 どうかご教授頂けないでしょうか?

  • 成績表をエクセルで処理したい。

    エクセル初心者ですが、成績処理を自分にあった書式で作ろうと苦労しています。 得点が入力された一覧表があるのですが、その中の特定の列の得点だけ(例えばC列にある得点)の中で、同じ得点が(縦に)連続している部分だけにチェックをつける(例えば色付け)には、どうすればよいでしょうか。連続の回数を「2回連続」「3回連続」・・・と別のセルに数値を入力すれば、チェックが入るようにしたいのです。 また、教えていただいた方法を工夫すれば、得点が上昇している部分や、逆に得点が下降している部分にもチェックをつけることができるでしょうか? 欲張った質問ですみません。 詳しい方教えてください。よろしくお願いします。

  • 成績処理を行う場合、エクセル関数は何をどのように使う?

    エクセル初心者で、初めて関数で処理しようとしています。エクセルを使って成績処理(生徒個票)を打ち出したいのですが。例えば、〔シート1〕は、通知表の様式(コピーしたいセルは空欄)。〔シート2〕は、生徒個々のデータ(行ごとに一人分)があります。この場合、〔シート1〕のセル(仮に”D5”)に、〔シート2〕の”鈴木”という生徒(6行目)のあるデータ(仮に”F6”の得点)をそのままコピーしたいのです。その際、〔シート2〕の特定の生徒(鈴木)を選択して必要なデータをすべて〔シート1〕の所定のセルにコピーし、次の生徒(田中)を示すとその生徒(田中)のデータ・・・・。という具合に設定するには、どのような関数を用いればよいのでしょうか。また、その場合、〔シート1〕を一回一回プリントアウトしないで一括印刷する方法はないのでしょうか? 初歩的な質問で申し訳けありません。どなたか教えてください。よろしくお願いします。

  • excel VBA 一覧表印刷 個別氏名表示

     成績一覧表で40名分の番号と氏名を1名のみ表示し,それ以外を 空白にし連続40名分印刷したいです.マクロの知識が少なく, ネットで調べましたがありません。vlookup関数は使えません。 表一枚を個人番号と氏名での連続印刷となります。すいませんが, 教えて下さい。よろしくお願いいたします。 

  • エクセルのマクロで

    こんにちは、お願いします。 エクセルに画像の添付でマクロを使用したいのですが、 下記のようなマクロ作成・編集ができるのでしょうか? エクセルの特定のセルに画像のファイル名を入力しマクロを実行すると、他のフォルダにある.jpg画像が指定したセル位置に添付される。 また、添付位置を複数にもできますか? 説明がわかるでしょうか…?^_^; マクロに関して全く無知なのですが、できるものでしたら是非教えてください。 宜しくお願いします。