SHOEISHA iD

※旧SEメンバーシップ会員の方は、同じ登録情報(メールアドレス&パスワード)でログインいただけます

EnterpriseZine(エンタープライズジン)編集部では、情報システム担当、セキュリティ担当の方々向けに、EnterpriseZine Day、Security Online Day、DataTechという、3つのイベントを開催しております。それぞれ編集部独自の切り口で、業界トレンドや最新事例を網羅。最新の動向を知ることができる場として、好評を得ています。

最新イベントはこちら!

Data Tech 2024

2024年11月21日(木)オンライン開催

EnterpriseZine(エンタープライズジン)編集部では、情報システム担当、セキュリティ担当の方々向けの講座「EnterpriseZine Academy」や、すべてのITパーソンに向けた「新エバンジェリスト養成講座」などの講座を企画しています。EnterpriseZine編集部ならではの切り口・企画・講師セレクトで、明日を担うIT人材の育成をミッションに展開しております。

お申し込み受付中!

EnterpriseZine(エンタープライズジン)

EnterpriseZine編集部が最旬ITトピックの深層に迫る。ここでしか読めない、エンタープライズITの最新トピックをお届けします。

『EnterpriseZine Press』

2024年秋号(EnterpriseZine Press 2024 Autumn)特集「生成AI時代に考える“真のDX人材育成”──『スキル策定』『実践』2つの観点で紐解く」

60秒でできる!Microsoft Excel Tips集

【Excel Tips】振替休日を求めるには?

日付と時刻のTips(6)


日曜日が祝日の場合、翌日の月曜日を振替休日とする方法を紹介します。

概要

 WEEKDAY関数とIF関数と組み合わせると振替休日の日付を求めることができます。

=IF(WEEKDAY(祝祭日,1)=1,祝祭日+1,"")

 一方、5月の連休など連続する祝日の振り替え休日は、以下の要領で実現できます。

=IF(WEEKDAY(5月5日セル,1)<=3,5月5日セル+1,"")

 本稿では、祝日が日曜日と重なった場合、翌日を振替休日として求める方法を紹介します。

操作手順

連続しない祝祭日が日曜日の場合

 ここでは、2008年の勤労感謝の日が日曜日なので、その振替休日を求める方法を紹介します。

  1. サンプルファイル「sample.xls」を開きます。
  2. C17セルを選択して、数式バーの[関数の挿入]ボタンをクリックします。
  3. [関数の挿入]ダイアログボックスで、IF関数を検索します。
  4. [関数の引数]ダイアログボックスのそれぞれの引数に以下のように入力します。
    • 論理式:WEEKDAY(A17,1)=1
    • 真の場合:A17+1
    • 偽の場合:""
    関数の引数
  5. 数式結果がシリアル値になるので、[書式]-[セル]を選択して、表示形式を「日付」にします。
    [書式]-[セル]を選択
    ↓
    表示形式を「日付」に設定する
  6. 振替休日の日付を表示できました。

 C17セルの数式は以下の通りです。

=IF(WEEKDAY(A17,1)=1,A17+1,"")

5月5日が日曜~火曜日の場合に5月6日の振替休日を表示する

  1. C11セルを選択して、数式バーの[関数の挿入]ボタンをクリックします。
  2. [関数の挿入]ダイアログボックスで、IF関数を検索します。
  3. [関数の引数]ダイアログボックスのそれぞれの引数に以下のように入力します。
    • 論理式:WEEKDAY(A11,1)<=3
    • 真の場合:A11+1
    • 偽の場合:""
  4. 数式結果がシリアル値になるので、[書式]-[セル]を選択して、表示形式を「日付」にします。
  5. 振替休日の日付を表示できました。

 C11セルの数式結果は以下の通りです。

=IF(WEEKDAY(A11,1)<=3,A11+1,"")

備考

2002年5月
      1 2 3 4
5 6 7 8 9 10 11
2008年5月
        1 2 3
4 5 6 7 8 9 10
2009年5月
          1 2
3 4 5 6 7 8 9

 祝祭日が特定の曜日(主として日曜日)と重なった場合、あるいは、複数の祝祭日が日曜日と重なったとき、その翌日が振替休日となります。

 複数の祝祭日が連続しない場合、その日が日曜日であれば、翌日を振替休日となるように数式を作成すればOKです。

 5月の連休の場合は、祝日が3日間連続するので、単純に最終日の5月5日が日曜日であるか判定するだけでは不十分です。よって、5月5日が月曜日から水曜日の場合に、翌日を振替休日とすればよいでしょう。

 曜日の判定にはWEEKDAY関数を利用し、IF関数と組み合わせて振替休日を求めることができます。なお、数式結果はシリアル値として表示されるので、セルの表示形式を「日付」にします。

 振替休日を含めた祝祭日の日付リストを作成しておくと、営業日の計算が行えるようになります。

関数 書式 説明
IF IF(論理式,真の場合,偽の場合)
  • 論理式の結果に応じて、指定された値を返します。
WEEKDAY WEEKDAY(シリアル値,種類)
  • シリアル値を曜日に変換した結果を返します。
  • 「種類」には 1(日曜=1~土曜=7)、2(月曜=1~日曜=7)、3(月曜=0~日曜=6)のいずれかを指定します。省略すると1になります。

 WEEKDAY関数の「種類」の引数を「1」にした場合、日曜日が「1」になります。連続しない祝祭日の場合は、以下の式で振替休日の日付を求められます。

=IF(WEEKDAY(祝祭日,1)=1,祝祭日+1,"")

 一方、5月5日が日曜日から火曜日の間に、5月6日を振替休日とするには、以下の式で実現できます。WEEKDAY関数の「種類」に1を指定して5月5日の曜日を判定した場合に、その結果が3以下になれば、翌日は振替休日となります。

=IF(WEEKDAY(5月5日セル,1)<=3,5月5日セル+1,"")

この記事は参考になりましたか?

  • Facebook
  • X
  • Pocket
  • note
60秒でできる!Microsoft Excel Tips集連載記事一覧

もっと読む

この記事の著者

小濱 良恵(コハマ ヨシエ)

Microsoft MVP for Expression (April 2008 - March 2009)
Microsoft Office や Expression Web の書籍やWeb記事を執筆するテクニカルライター。
当初は派遣の仕事が中心で、2002年にMOUS(現Mic...

※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です

この記事は参考になりましたか?

この記事をシェア

EnterpriseZine(エンタープライズジン)
https://enterprisezine.jp/article/detail/866 2008/12/04 11:52

Job Board

AD

おすすめ

アクセスランキング

アクセスランキング

イベント

EnterpriseZine(エンタープライズジン)編集部では、情報システム担当、セキュリティ担当の方々向けに、EnterpriseZine Day、Security Online Day、DataTechという、3つのイベントを開催しております。それぞれ編集部独自の切り口で、業界トレンドや最新事例を網羅。最新の動向を知ることができる場として、好評を得ています。

新規会員登録無料のご案内

  • ・全ての過去記事が閲覧できます
  • ・会員限定メルマガを受信できます

メールバックナンバー

アクセスランキング

アクセスランキング