半年に1回のどうやるんだっけ備忘録。汎用性があるのかないのかわからないけど一応公開しておく。
多数のWordファイルをPDFに変換する
ワードカウントを使いたいので学生にはdocxで提出させたいが、自分が読むのはpdfで読んで、問題があったときだけWordファイルを確認したい。このような時に多数のWordファイルを一括してPDFに変換したいが、Acrobatを使ってもむちゃくちゃ遅い。
PDFへの変換は、Pythonにdocx2pdfというライブラリがある。むちゃはやいわけではないが、バックグラウンドでやってくれるのでよい。CPUのみ占有される。
- PCに直でPythonを入れておく
- 該当フォルダでcmdを立ち上げる
- docx2pdf “./” でそのフォルダの中を全部pdf化。
PDFの結合も、200ファイルを結合とかやろうとするとAcrobat Pro DCはとても遅い(50ファイルぐらいまではなんとかなるが、ある一定の数を超えると遂行不可能になる)。PythonだとPyPDF2というのがあるがちょっとスクリプトを書かないといけないので面倒。結局サブPCに入れているいきなりPDFを使った。
重複した提出を除外する
同じ課題が重複して提出されている時に重複して加点しないようにしたい。
ID(学籍番号など)に対して、COUNTIF([学籍番号],[@学籍番号]) ←テーブルでの処理の場合。セル参照でもCOUNTIF(学籍番号全体、当該学籍番号)
とした上で、数字が2以上の行を手作業で(例えば古い側の提出を)削除
簡易ヒストグラムの作成
分析>データ分析>ヒストグラム だと面倒なので、あまり細かく分かれていない得点分布(小テスト4点満点とか、SABCDFとか)はCOUNTIF(全体、当該成績)で手作業で作る方が後々の使い勝手がよさそうな気がする。
条件づき書式でエラーを探す
- ちょっとした採点支援をさせるのにセルの色づけを使うと便利
- docxで提出しろと言っているのにそれ以外のフォーマットであるとき、提出ファイル一覧のテキストからdocxの含まれていない行やセルを探す。
- 記述式の問題で、当然含まれているはずの専門用語で色分けして、書かれていないセルを優先的に採点する
- ちゃんと処理したい時は別の列に関数でCOUNTIF(A1, “*文字列*”,0)とかする。*はワイルドカード
素点をABC評価に直す
0-100までの数字列を用意し、右側に対応する評価をABCを入力して、その対応表を使ってVLOOKUP。もっと洗練された方法がありそうだけど採点は得点集計にVLOOKUP多用するので結局いつもこれ。
60点が合格、59点以下が不合格なのは忘れないのだが、ここで1点ずらした分をどこで調整するのかをいつも忘れる。S(A+)を90-100の11点分にするのが一般的なようだ(自分の大学で確かめてください)。
0から始まる文字列
授業コードとかで0から始まるのに、excelが数値判定すると最初のゼロを消してしまう。文字列化すればよいので最初に’をつけてから’0123と書けば、文字列扱いしてくれる。まあこれはさすがに忘れないか。