22日目 クラス別名前入り度数分布表を作ろう【30日間1日1本マクロ生活】

30日間1日1本マクロ生活、22日目です。

マクロを書く準備は、0日目に記事を書きました。

クラス別名前入り度数分布表

今日は成績処理のお話です。

6日目の相関表と仕組みは同じですね。

こんなデータを用意しました。

氏名点数
1神谷正治19
1安達研一3
1碓井仁美2
1岩佐櫻14
1井口哲雄10
1有賀民雄14
1金森妃奈5
1村松唯衣15
1新垣桃歌15
1山野祐司10
1村瀬範久14
1岸天音11
1川合啓介8
1中原由希子11
1久保利佳1
1川端晴菜8
1水島希望20
1新垣未羽20
1丸山貞夫15
1山口健三郎18
2前島奈緒10
2寺本和秀6
2須田優来14
2梅木喜代子20
2南部安則5
2田渕彩子1
2井口貞夫1
2畠山敏行19
2鬼頭文男20
2田川真紀子3
2志賀保生6
2北尾茂志16
2上条悠奈9
2松尾八郎9
2奥成美17
2布施琴音17
2冨田昌信17
2明石篤彦2
2梅沢夏海19
2鮫島晴夫7
3久野一樹14
3西口麗奈9
3湊兼吉2
3稲葉隆志4
3金城謙治11
3依田秀之3
3沖胡桃5
3黒崎正毅13
3堀内雅裕12
3保坂香奈子7
3南部美姫10
3佐藤綾15
3相川華6
3斎藤結依14
3土居亜紀子13
3中沢優月17
3井田佳那子3
3浦田義則1
3住田庄一7
3大嶋治郎10
4春日和彦18
4木内治雄3
4吉本米子14
4小西紀子19
4石岡正光17
4大江里香10
4岡田伸6
4塚田美千子19
4飯田由奈11
4浜本円17
4高野武久10
4野呂祐昭4
4楠本昇2
4中尾美奈代3
4三橋小枝子16
4迫田真理子12
4福永浩子3
4石山香10
4野原美雪5
4織田啓之17
5小原俊郎15
5岩瀬睦夫20
5本村朋美20
5稲垣由菜14
5古沢凛花13
5石原恭之18
5柏木日出男16
5角義人13
5小平理緒14
5北岡桜子7
5広田琴子6
5木戸正則11
5奥村真人5
5福井崇10
5福岡賢明9
5田沢和代11
5岩崎利一13
5星孝義13
5大和田帆香1
5堀口淳一1

1組から5組まで、1クラス20人ずつの小テストの点数のデータです。

小テストは20点満点。このテストの度数分布表を作りたい。

でも、ただ数字だけ並んでいても面白くありません。

クラス別に分けて、各点数の所に「人数」ではなくて「名前」を入れていきましょう。

さっそくコードを


Sub 名前入り度数分布表()
    y = 2
    Do Until Sheets("Data").Cells(y, 1) = ""
        cls = Sheets("Data").Cells(y, 1)
        nam = Sheets("Data").Cells(y, 2)
        p = Sheets("Data").Cells(y, 3)
        
        hx = cls + 1
        hy = 22 - p
        
        If Sheets("Hyou").Cells(hy, hx) = "" Then
            Sheets("Hyou").Cells(hy, hx) = nam
        Else
            txt = Sheets("Hyou").Cells(hy, hx) & vbCrLf & nam
            Sheets("Hyou").Cells(hy, hx) = txt
        End If
        y = y + 1
    Loop
    
End Sub

解説しま・・・せん。

新しいことは全くやっていません。

ほとんど6日目の相関表と同じです。

実行結果

マクロを記述するウィンドウの「Sub」と「End Sub」の間にカーソルを置いて、画面上方の再生ボタン的なアイコン(右向きの三角形)をクリックするか、[F5]キーを押して実行します。

全体の図を見ていただきたいので、かなり文字が小さめですが、きちんと分布されました。

名前入り度数分布、実際のテストで作ってみると、生徒の成績の分布がすごくよく分かるんですよね。

もし同業の方がご覧になっているのでしたら、どうぞ使ってみて下さい。

Excelは便利

悔しいですが、Excelは便利です。

Microsoftにお金を払うのは癪でしょうがないんですが、Excelばかりは仕方がない。

マクロを書くようになると、Excelからは離れられないですね。

30日間、頑張ります。