お仕事に活かす・・・基礎から学ぶエクセル講座
 
 エクセルをたのしみながら身につけられるよう、日常生活に密接したシステムなどをテーマに、そのシステム作成に必要なExcel関数や、基礎的な操作について解説しています。
Yahoo! JAPAN
登録サイト

 

お仕事に活かす・・・基礎から学ぶエクセル講座のサイトへようこそ

 
ホーム > 面白エクセル > スケジュール管理表・・・(8)

7 スケジュール管理表  8 祝祭日を表に表示する


 2006年から2015年までのスケジュール管理表を作りました
 振替休日を含む祭日も表示、六曜(大安・仏滅・・・)も表示しました

8.祝祭日データを表に表示する

  • 祝祭日をVLOOKUP関数で表示する

 10年間分の祝祭日の一覧はすでに作っています。

 このデータをVLOOKUP関数を使って参照します。

 祭日のデータには、「祭日一覧」という名前をつけておきます。

 年を「1」(2006年)、月を「1」にして、2006年1月の祝祭日を表示しましょう。

 セルF10に、次の式を作ります。

  =VLOOKUP(C10,祭日一覧,2,0)

 式の意味は、もう理解できますね。
 「元日」と表示されればOKです。

 では、この式を31日までコピーしましょう。

 元日と、成人の日以外は、すべてエラーとなります。
 なぜでしょうか。

 そうです、たとえば1月2日は祭日一覧の表の中に、該当する日付が無いのですね。
 だから表示することができません、というエラーです。

 このケースの場合は、これまで使ってきた「セルの値がもし空白だったら空白にする・・・」という式は使えません。

 ISERROR関数を使いましょう。

 セルF10の式をこのように修正します。

   =IF(ISERROR(VLOOKUP(C10,祭日一覧
       ,2,0)),"",VLOOKUP(C10,祭日一覧,2,0))

 VLOOKUP関数の式がエラーになったら空白とし、エラーでなければVLOOKUP関数で得られた値を表示する、という意味です。

 月末まで式をコピーして、どんな年月でも祭日が正しく表示されることを確認してください。

  • 振替休日を考える
 
 祭日と日曜日が重なると、翌日の月曜日は「振替休日になります。

 これを加味して、セルF10の式を次のように修正します。

  =IF(AND(F9<>"",D9="日"),"振替休日",
       IF(ISERROR(VLOOKUP(C10,祭日!
    $B$2:$C$161,2,0)),"",VLOOKUP(C10,祭日!
    $B$2:$C$161,2,0)))

 一つ上の行の祭日欄が空白ではなく(すなわち祭日)、なおかつ、曜日が「日」であれば、「振替休日」と表示します。
 そうじゃない場合は、さきほどのVLOOKUP関数を使った式の結果を表示します。

 出来上がった式を月末までコピーしてください。

 2006年1月2日に「振替休日」と表示されれば正解です。

 振替休日は1年に1回か2回、無い年もあります。

 やっと、祭日の表示が完成です。

 次のステップは、MemorialDayとScheduleの表示です。

前のステップにもどるスケジュール管理表トップに戻る次のステップに進む

- PR -

NTTのアフィリエイト


介護・医療・福祉の資格
無料資料請求















アクセス増加と広告収入




このページのTOPへ   ホーム > 面白エクセル > スケジュール管理表・・・(8)
 2009.9 Restart
 Copyright お仕事に活かす・・・基礎から学ぶエクセル講座 All rights reserved