Registered at Nov 23 2008

Excel孫の手−115


	

「月末表示はおまかせ-1」

 Q.毎年、10月の声を聞くと、あの出来事が思い出されて・・・。  A.おや、頭を抱えて・・、忌まわしい出来事でもあったんですか。  Q.よくぞ、聞いてくれました。    カレンダーなんです、その出来事というのは。  A.ははあ、ひょっとして月末表示が上手く出来なかったんじゃー。  Q.そっ、その通り、    西向く侍→二、四、六、九、士 と、しっかり分かっていたのに、自作の    カレンダーでは11月が31日までになってしまって、お得意さまに配っ    てから指摘されて・・・。  A.そりゃちょっとどころではない大チョンボですね。    でも、EXCELでカレンダーを作っている人は、大概一度はぶつかるん    ですね、この問題は。    でも、この問題はあまりにポピュラーなので、凄く美しく解決する方式が    沢山発表されています。その中でも、へぇーと言うのをご紹介します。    使う関数の主役は、 DAY 脇役は、 DATE です。    まず、DATE関数から行きましょう。     =DATE(年,月,日) と言う書式を使います。     例えば、=DATE(2006,8,12) と入力すると、そのセルには、2006/8/12    と表示されます。  Q.それっていったいどういう・・・・・・。  A.そう、私も最初そう思いました。    ここで、カレンダーを作るときの手順を思い浮かべてみてください。    だいたい、表の左上に 2009年2月 等と入力して、あとは、下に向かっ    て、下に向かって、1・2・3・4・・・・・・27・28 と日付を入れます。    ここで、月末が不定なのは、29日 30日 31日の三日間だけです。    29日を考えて見ましょう。    29日のセルには、=DATE(2009,8,29)という式を入れます。    このままでは、このセルに年月日が表示されてしまいます。
 
		

   そこで、DAY関数を使うんです。								 
   =DAY(DATE(2009,8,29)) という式にすると、2009/8/29の日の部分、
   即ち、29 が表示されます。
   
   仮に、セル B1 に、2009年 セル C1 に、2月 と入っていると
   しましょう。すると、29日が表示されるべきセルには、何と 1 と表示さ
   れてしまいました。
 
		

   2009年は閏年ではありませんから、2月は28日でおしまいです。と言う
   ことで、3月1日になってしまうのです。

   となると、月が変わったことが検出されたら、表示をしないようにような仕掛
   けを組み込んであげましょう。
   そうすれば、正しい表示のカレンダーが完成します。

 Q.長い説明でしたね。
   表示しないようにする仕掛けの前まで、おさらいします。
   最終形は、次回に回して貰えませんか。

 A.だと思いましたよ。煮詰まった顔してますもん!!
   では、・・・・。
 


Return to TOP