meibomatch.exe
マークシートから読み込んだ試験の点数を名簿順に並べ替えて、成績管理が楽になるようにします。マークデータがないと欠席として扱います。
2015.10.23

プログラム:meibomatch.exe.zip (Windows) / meibomatch.zip (OSX10.7)

入力データ例1:mark.csv (ミスマークによる重複を含んでいます)

入力データ例2:meibo.txt

出力データ例:mark.MATCH.csv

*ダウンロードは 右クリック して「リンク先を保存」などを選んで下さい。入力・出力例はテキストなので、メモ帳などで開くことができます。


入力データについて

mmark-dat.csv :
マークシートから読み取った番号と得点をcsv形式で保存したものです。データは番号順ではなく、読み取った順に並んでいます。また、データは318人分で、名簿人数(333名)との差が欠席者となりますが、どの番号が欠落しているかここでは分かりません。番号のマークミスも含まれています。(成績は整数だけでなく、実数でもOKです)

   02710,50
   02637,47
   02223,94
   12109,68
   02337,79
   02635,67
   02313,41
   22113,80
   02514,70
   02509,87
   ...

mmeibo-dat.txt :
333人分の名簿番号のリストです。この並びが基準になります。1行に1つの番号なので拡張子をcsvにする必要はありません。

   01805
   01830
   02101
   02102
   02103
   02104
   02105
   02106
   02107
   02109
   ...

どちらのデータも読み込んだとき、317、332と1つ少ない数字のときは、一番最後の行に「改行」を加えて下さい。

Macでは改行コードに注意して下さい。CR になっていると読めません。LF または CR+LF に変更する必要があります。テキストエディター mi などで確認・変更して下さい。


使い方

プログラムもデータも同じフォルダーに保存します。
   

meibomatch.exe をダブルクリックすると、MS-DOSのコマンドプロンプトが現れます。
   


あとは必要なデータを入力します。入力は部分は赤色です。

 ====================================================
  名簿とマークシートデータとをマッチングします
 ====================================================

  マークシートデータは CSV 形式で各行1データです。

   例:     14806,6
           14807,204
           14808,11
           14809,3
           … 
           番号(5桁),点数/順位(3桁以内)

 マークシートデータファイル名 > mmark-dat.csv

          → 全部で  318 人分のマークデータを読みました。

          → 結果は mmark-dat.MATCH.csv  に保存されます.


 名簿ファイル(番号リスト)名 [meibo.txt] > mmeibo-dat.txt
                ↑ 何も入力せず、リターンすると meibo.txt を読もうとします。
          → 全部で  333 人分の名簿を読み込みました

  重複しているマーク番号がありました:   4   ← マーク番号の重複件数
  >> マークデータを必ず見なおして下さい。

      16 行目:   2112  199   <- - ->      30 行目:   2112   33
      16 行目:   2112  199   <- - ->      41 行目:   2112  210
      30 行目:   2112   33   <- - ->      41 行目:   2112  210   ← 02112が計3回重複
     100 行目:   2817   87   <- - ->     143 行目:   2817  123

 > 重複番号のひとつ目は登録されますが、残りは名簿にない番号として取り扱われます。

名簿になっかた番号
  12109, 68   ← マークミスなどで名簿になかった番号
  22113, 80
   2112, 33   ← マーク番号重複のためはねられた番号
   2112,210
   2817,123

          終了しました。リターンしてください・・・・


名簿の順にならべ返られた結果:mmark-dat.MATCH.csv
    1805,66    ← 0で始まる番号なので、01805 → 1805になっている
    1830,79
    2101,K     ← データが無かったので欠席者としている
    2102,23
    2103,60
    2104,5
    2105,K     
    2106,93
    2107,K     
    2109,K     ← ↓
     ...
    3854,28
    3855,64
    3856,K     

    名簿になっかた番号
    12109, 68     ← おそらく 02109 のマークミス (上の成績データではKになっている)
    22113, 80
     2112, 33     ← マーク番号重複のためはねられた番号
     2112,210
     2817,123

データ管理

出力ファイル mmark-dat.MATCH.csv をエクセルで開き、点数のカラムをコピー(下図左)し、名簿の回数別カラムにペースト(下図右)する。
   

出力は常に名簿順に並び替えられ、マーク欠落箇所を欠席者 K として補完する。こうすることで、ペーストしてもカラムずれが生じない。
   
(ここでは番号はユーザー定義で5桁で表示)

 □ □ □