カレンダーの作成次に、ウィンドウ左下にある、 ワークシートの一覧から 「カレンダー」をクリックしてください。 #ref(): File not found: "ex03.png" at page "Lecture/InfoPrac2005/10th/calendar" カレンダーの作成と日付/時刻関数の説明をします。 まず、 年と月を、C2セルとE2セルにそれぞれ、「2004」「12」と入力してください。 第1週の計算次に、第1週の日付の計算をします。 ここでは、「その年月の1日が何曜日になるか」がポイントになります。 ここで使う関数は、 これまで登場したIF関数と、 日付/時刻関数のDATE関数、WEEKDAY関数です。
これらの式を使って、第1週の計算をしてみましょう。 B5〜H5セルの値も利用します。 正解から紹介すると、B6セルの計算式は次のようになります。 =IF(B5>=WEEKDAY(DATE(C2,E2,1)), B5-WEEKDAY(DATE(C2,E2,1))+1, "") ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ 条件式(A) 真の場合(B) 偽の場合(C) つまり、次のような意味になります。
わかりにくいので、表にしてみましょう。 「2003年12月」の場合、 「2003年12月1日」は水曜日なので、曜日の値は「4」となります。
つまり、まずセル(B6〜H6)の曜日の値と、その年月の1日の曜日の値を比較します。 もし、セルの曜日の値より1日の曜日の値が小さければ、 そのセルには指定された年月の日付はあらわれないはずです(まだ前の月の日付)。 もし、セルの曜日の値より1日の曜日の値が同じか大きければ、 そのセルには指定された年月の日付があわられます。 セルの日付は、曜日の値を計算したものから求めることができるというわけです。 B6セルの計算式の「C2」と「E2」セルを指定している部分を、 絶対参照の形式に変更してください。 変更できたら、B6セルの計算式をC6〜H6セルにコピーしましょう。 #ref(): File not found: "ex04.png" at page "Lecture/InfoPrac2005/10th/calendar" 第2週〜第6週までの計算第1週目は難しい数式を使いましたが、 第2週から第6週は簡単な計算式で求めることができます。 第2週の日曜日の日付は、第1週の土曜日の日付に1を足したものですから、 B7セルの次のような計算式になります。 = H6 + 1 また、第2週の月曜日の日付は、日曜の日付に1を足したものですから、 C7セルの次のような計算式になります。 = B7 + 1 あとは、月曜日の計算式を土曜日のセル(H7)までコピーし、そのあと第2週の計算式全体を第6週までコピーすれば、すべての枠に計算式を入力することができます。 コピーには、マウスを使えば簡単にできます。 #ref(): File not found: "ex05.png" at page "Lecture/InfoPrac2005/10th/calendar" 月末の表示(条件付き書式)今のままでは、月末に「32」などの余計な数字が表示されてしまっています。 そこで、「条件付き書式」を使って、数値の表示をコントロールします。 条件付き書式とは、普通の書式設定とは違い、セルや計算の値がある条件がときに設定せる書式のことです。 ここで使う関数は、さっき登場したDATE関数と、日付/時刻関数のDAY関数です。
この式を使って、次のように条件付き書式を設定しましょう。 「その月の最終日より大きい数値は、背景と同じ文字色で表示する」という条件にします。
設定できると、月の最終日より大きい数字が見えなくなります。ただし、表示されていないわけではないので、セルの塗りつぶしを設定するときには気をつけてください。 見映えの設定カレンダーを見映えをよくするため、次のような設定をして下さい。
|