2007年11月16日

Excelによる授業進行表(条件付き書式とVBA)

毎日の授業においてクラス毎の進行を管理するのはかなり大変です。

・次の回はどのクラスが最初になるのか。
・各クラスの残り時間は何時間なのか。
・試験の前にはどのくらいの時間があるのか。

通常ならカレンダーを使って管理していると思いますが、日々刻々と動いていくものであり、さらにある時点での未来の状態やどのように変化していくのかを直感的に把握するのは難しいですね。そこで、Excelでの進行表を作ってみました。
Excel_shinko
本校ではA組〜H組まで8クラスあります。年間行事予定表とにらめっこしながら、いつが授業なのかを一つずつ入力します。これは手作業です。

画像のL2セルは設定日となっています。このセルに適当な日付(例えば来週の今日など)を入れます。

各日付の入ったセルに条件付き書式を設定します。というか、先に設定をして(コピーして)おいたほうがいいです。
Excel進行表条件

D3セルでの条件は、

条件(1)=D3=$L$2
書式(背景パターン):うすい水色

条件(2)=D3<$L$2
書式(背景パターン):灰色50%

条件(3)=D3=""
書式:設定無し

です(上の条件2の不等号は全角になっています)。

これによって、設定日以前は暗く(灰色50%)、設定日当日はうすい水色、設定日後はデフォルトの背景になります。これだと日付を入力していないと灰色になってしまうのがうっとうしいですが、まぁそのままにしています。

続いてマクロを設定します。

まずその前に準備として、M2セルに「=today()」と入れて常に今日の日付が入るようにしておきます。

「ツール」−「マクロ」−「Visual Basic Editor」を起動して、VBE上で「挿入」−「標準モジュール」としてソースを書けるようにします。
ここに、5つのマクロを入力します(セルの配置が全く同じなら以下をコピー&ペーストすればいいと思います)。ここで Cells(2,12) というのは L2セル、つまり「設定日」セルです。

Sub 今日ボタンで今日にする()

  今日 = Cells(2, 13)
  Cells(2, 12) = 今日

End Sub

Sub 次の日にする()

  設定日 = Cells(2, 12)
  Cells(2, 12) = 設定日 + 1

End Sub

Sub 前の日にする()

  設定日 = Cells(2, 12)
  Cells(2, 12) = 設定日 - 1

End Sub

Sub 翌週にする()

  設定日 = Cells(2, 12)
  Cells(2, 12) = 設定日 + 7

End Sub

Sub 前週にする()

  設定日 = Cells(2, 12)
  Cells(2, 12) = 設定日 - 7

End Sub


「今日ボタンで今日にする」マクロ、
「次の日にする」マクロ、
「前の日にする」マクロ、
「翌週にする」マクロ、
「前週にする」マクロ
の5つですね。

一応2行にしてありますが、一行でも済みますね。

解説するまでも無いと思いますが、
「今日ボタンで今日にする」マクロは、=today() が入っているセルを読み込んで設定日セルに書き込む。
「前の日にする」マクロは、設定日を読み込んで「−1」して返す。
「次の日にする」マクロは、〃  「+1」して返す。



というだけです。それぞれの Sub の中にカーソルを置いて、VBE上部の実行ボタン又はメニューの「実行」−「Sub/ユーザーフォームの実行」で実行するとその通りになることを確認します。


後は、Excelシート内の適当な位置にボタンを配置してマクロを登録します。
Excel上で「表示」−「ツールバー」−「フォーム」でフォームのツールバーを表示します。
Excel進行表フォームバー
右側の上から二番目、「ボタン」をクリックし、シートの適当なところでドラッグしてボタンを作ります。離した瞬間に「マクロの登録」ダイアログボックスが表示されます。
Excel進行表マクロの登録

ここで「今日ボタンで今日にする」などが並んでいるので適切なマクロをクリックして選択し、「OK」をクリックすると登録されます。ボタンが選択されている状態なら軽くワンクリックすると「ボタン 1」などとなっている表示を変更できます。選択されていない状態だと、クリックした瞬間にマクロが実行されてしまうので、右クリックで「テキストの編集」を選んで名前を変えます。

これを繰り返してマクロボタンを5個作り登録します。画面上では「今日」「-1d」「+1d」「-1w」「+1w」の5つです。

「今日」を押せば今日が水色、昨日までは灰色、明日以降が白の背景になりますでしょうか。「+1d」をクリックするとどのように授業が進んでいくのかが次々と色が変わりますでしょうか。

以上で、動的な授業進行表ができました。全体を見渡しながら、進んでいく様子が分かります。

条件付き書式を工夫すれば、横一列で一番早い日を黄色にするなどができると思います。試してみてください。
posted by n_shimizu at 17:40| Comment(0) | TrackBack(0) | VBA

2007年11月04日

グーグルが日本語コーパスを公開だって

元記事はこちら

コーパスというのは、コンピュータによる検索が可能になっている大量の言語データのこ、だそうで(はてなより)。

それでもって、Google は、「N-gram」という仕組みだそうで、記事には、
N-gramは特定の位置にある単語が何であるかを、その直前の単語、さらに前の単語……、とN個分さかのぼって推測できるという仮説に基づいている。
と書いてある。

例えば、ATOK などは「ほんがあつい」「きょうはあつい」「こーひーがあつい」と入力されたときはそれぞれ「本が厚い」「今日は暑い」「コーヒーが熱い」のように「あつい」がどの「あつい」なのかを自動的に判断する。これは大量な文章から解析したものを微妙に微妙にチューニングする作業のたまものなのですが、Google はそんな努力をばかでかいCPUパワーで吹き飛ばそうとしているわけですね。

先に何が入るのかを推測するのがN-gramだそうで、「今日は」と来たら次にどんな単語が来るのかを(200億文から)多い順に並べることができるそうです。

で、記事によるとそんなデータを公開するそうで(無償ではない)。とても興味がありますねぇ。
posted by n_shimizu at 02:26| Comment(0) | TrackBack(0) | 日記2

2007年11月02日

携帯端末と通話料のホントの値段・続き

前回の記事の続報です。au は少し前から softbank 同様のプランを発表していましたが、ドコモも発表しました。

au
「au買い方セレクト」の提供について
〜多様化するお客様のニーズに合わせ、au電話の購入方法を選択可能に〜


DoCoMo
ケータイの買い方を選べるようになります

情報まで。
posted by n_shimizu at 17:25| Comment(0) | TrackBack(0) | 日記2