月刊日本語からいらした方はこちらへ!

2010年02月06日

エクセル 曜日によるスケジュール算出ツール 「youbi copy」

エクセルのオートフィルって便利ですよね。
たとえばどこかのセルに「1」と入れておいて、そのセルの右下の角の四角いハンドルを下に伸ばすと「2」「3」と連番を振ってくれたりします。日付でも同じで、「1月1日」だったら次は「1月2日」「1月3日」と自動的に連番でコピーしてくれます。

絵で見たい人はこちらをご参照。
http://www.eurus.dti.ne.jp/~yoneyama/Excel/nyuryoku.htm#autofir

日付のオートフィルは「1月1日」「1月8日」と一週間をおいて連続している2つのセルを選択してから同じようにすると、「1月1日」「1月8日」「1月15日」「1月22日」「1月29日」と一週間おきの日付が連続してコピーされます。

で、ここまではいいんですが、ちょっと困るのが「毎週月水金」というような並びの日付です。いや、ちょっとじゃなくてとっても困ります。たとえば「1月1日」が月曜日だった場合、月水金は以下のようになります。
「1月1日」
「1月3日」
「1月5日」

ところがこれをそのまま下にコピーすると、こんな風になってしまうんですね。
「1月1日」
「1月3日」
「1月5日」
「1月7日」
「1月9日」

これはたぶんエクセルが「一日おいて続けるんだな」と解釈してしまうからなのでしょう。その結果、月水金の連続で入力したいのに、月水金日火木と続くことになってしまいます。

困りますよね。

みなさん、どうしてるんでしょうか。

教育関係者だったら、時間割は曜日で決まることが多いので、日程表を作るときに「月水金月水金月水金」と並ぶデータを作りたいと思うこともあるんじゃないでしょうか。これをエクセルでやるための裏技とかライフハックとかあります?

そういうワザが見つからなかったので、とりあえずエクセルで計算してくれるツールを作ってみました。名づけて「曜日コピー」。要するに曜日指定によるスケジュール算出ツールです。

「input」というシートに授業のある曜日を「1」、ない曜日を「0」で指定し、授業の最初の日と最後の日を入力すると、「output」のシートに該当する日程が並んでいます。

たとえば
月 0
火 1
水 0
木 1
金 0
土 1
日 0

授業の始まる日(書式はdateで)
2010年3月4日

授業の終わる日(同上)
2010年6月5日

と入力しておくと、
1 3月4日 木
2 3月6日 土
3 3月9日 火
4 3月11日 木
5 3月13日 土
6 3月16日 火
7 3月18日 木
8 3月20日 土
9 3月23日 火
10 3月25日 木
11 3月27日 土
12 3月30日 火
13 4月1日 木
14 4月3日 土
15 4月6日 火
16 4月8日 木
17 4月10日 土
18 4月13日 火
19 4月15日 木
20 4月17日 土
21 4月20日 火
22 4月22日 木
23 4月24日 土
24 4月27日 火
25 4月29日 木
26 5月1日 土
27 5月4日 火
28 5月6日 木
29 5月8日 土
30 5月11日 火
31 5月13日 木
32 5月15日 土
33 5月18日 火
34 5月20日 木
35 5月22日 土
36 5月25日 火
37 5月27日 木
38 5月29日 土
39 6月1日 火
40 6月3日 木

というデータが「output」シートに表示されます。

こんなツールなんか使わなくても簡単にできるワザがありそうな気がしますが、よく分からなかったので、とりあえず、みなさんにご紹介しておきたいと思います。

ダウンロードはこちらから。
youbi copy.xls
posted by 村上吉文 at 15:41 | Comment(0) | TrackBack(0) | 日本語hacks! | このエントリーをはてなブックマークに追加
この記事へのコメント
コメントを書く
お名前: [必須入力]

メールアドレス:

ホームページアドレス:

コメント: [必須入力]


この記事へのトラックバック