業務で日付計算をする際、土日祝日を除いた営業日で日付を算出したい場面は多いものです。手作業でカレンダーを数えるのは時間がかかり、ミスも発生しやすくなります。
ExcelのWORKDAY関数を使えば、指定した開始日から指定した営業日後の日付を自動で簡単に計算できます。
この記事を読めば、WORKDAY関数の具体的な使い方や、休日設定の注意点まで理解できるようになります。
【要点】WORKDAY関数で営業日計算を自動化する
- WORKDAY関数: 指定した開始日から土日祝日を除いた営業日後の日付を算出できます。
- 祝日リストの準備: 祝日を一覧で用意することで、WORKDAY関数が正しく機能します。
- 日付形式の確認: 関数が正しく動作するよう、日付データは必ずExcelの日付形式で入力してください。
ADVERTISEMENT
目次
WORKDAY関数の概要と営業日計算の基本
WORKDAY関数は、指定した日付から特定の営業日数だけ前または後の日付を計算するExcelの強力な関数です。主にプロジェクトの納期設定や、業務タスクの完了日予測など、ビジネスシーンでの日付管理に役立ちます。
土曜日と日曜日を自動的に週末として除外し、さらにユーザーが指定した祝日も除外して営業日を算出できます。これにより、手動でカレンダーを確認する手間とヒューマンエラーを大幅に削減できます。
WORKDAY関数を利用する際の前提条件として、計算の基準となる「開始日」と「移動する日数」を明確にする必要があります。また、土日以外の「祝日」がある場合は、それらをリスト形式で用意することが求められます。日付データはExcelが認識するシリアル値形式である必要があります。
WORKDAY関数の引数と基本動作
WORKDAY関数は以下の3つの引数で構成されます。
- 開始日 (必須): 計算の起点となる日付を指定します。直接日付を入力するか、日付が入力されているセルを参照します。
- 日数 (必須): 開始日から移動する営業日数を指定します。正の数を指定すると未来の日付、負の数を指定すると過去の日付を計算します。
- 祝日 (省略可能): 営業日から除外したい祝日をリスト形式で指定します。祝日が入力されているセル範囲を参照することが一般的です。
WORKDAY関数で営業日後の日付を計算する手順
WORKDAY関数を使って営業日後の日付を計算する具体的な手順を説明します。ここでは、祝日リストを含める場合と含めない場合の両方を紹介します。
祝日リストを含めない基本的な計算手順
まずは、土日のみを考慮して営業日を計算する手順です。
- 開始日の入力
計算の開始日となる日付をセルに入力します。例えば、セルA2に「2024/4/1」と入力します。 - 日数の入力
開始日から数えたい営業日数をセルに入力します。例えば、セルB2に「10」と入力します。 - 結果表示セルの選択
計算結果を表示したいセル(例えば、セルC2)をクリックして選択します。 - 数式の入力
選択したセルに=WORKDAY(A2, B2)と入力し、Enterキーを押します。 - 結果の確認
セルC2に、開始日(A2)から10営業日後の日付が表示されます。この日付は土日を除いた日付です。
祝日リストを含めた計算手順
次に、土日だけでなく祝日も考慮して営業日を計算する手順です。
- 祝日リストの準備
シートのどこかに祝日の一覧を入力します。例えば、F列に「2024/4/29」「2024/5/3」「2024/5/6」などの祝日を縦に並べて入力します。このリストのセル範囲を記憶しておきます(例: F2:F4)。 - 開始日と日数の入力
先ほどと同様に、セルA2に開始日、セルB2に日数を入力します。 - 結果表示セルの選択
計算結果を表示したいセル(例えば、セルD2)をクリックして選択します。 - 数式の入力
選択したセルに=WORKDAY(A2, B2, F2:F4)と入力し、Enterキーを押します。祝日リストの範囲は適宜変更してください。 - 結果の確認
セルD2に、開始日(A2)から10営業日後の日付が表示されます。この日付は土日と指定した祝日を除いた日付です。
WORKDAY関数利用時の注意点とトラブル対処法
WORKDAY関数は便利ですが、使用方法を誤ると予期せぬ結果やエラーが発生することがあります。よくある注意点とトラブル対処法を確認しましょう。
日付の形式が正しくない場合 (#VALUE!エラー)
WORKDAY関数が「#VALUE!」エラーを返す場合、開始日や祝日リストの日付データが、Excelが認識する日付形式ではない可能性が高いです。Excelは日付をシリアル値として内部で管理しています。
原因: テキスト形式で日付が入力されている、または無効な日付が入力されていることが考えられます。
- 対処法1: セルの書式設定の確認
日付が入力されているセルを選択し、「ホーム」タブの「数値」グループにある「表示形式」で「日付」形式(短い日付、長い日付など)が適用されているか確認します。 - 対処法2: TEXT関数やDATE関数での変換
もしテキスト形式で日付が入力されている場合は、DATEVALUE()関数やTEXT()関数、あるいはDATE()関数を使って日付形式に変換してからWORKDAY関数に渡すことを検討してください。例えば、「2024年4月1日」のようなテキストは=DATEVALUE("2024年4月1日")で日付に変換できます。
祝日リストが正しく指定されていない場合
祝日リストが正しく指定されていないと、WORKDAY関数が祝日を除外せずに計算を進めてしまうことがあります。これは、計算結果に誤りをもたらします。
原因: 祝日リストとして単一セルや文字列を指定している、または範囲指定が間違っていることが考えられます。
- 対処法1: 範囲指定の確認
祝日リストは、複数の日付が入力されたセル範囲(例: F2:F10)として指定する必要があります。単一のセルや、日付以外のデータが含まれる範囲を指定しないように注意してください。 - 対処法2: 絶対参照の使用
数式をコピーして使う場合、祝日リストの範囲がずれないように絶対参照(例: $F$2:$F$10)を使用することをおすすめします。
日数に負の値を指定する場合の解釈
WORKDAY関数の「日数」引数に負の値を指定すると、開始日より前の営業日を計算できます。これは、納期から逆算して作業開始日を決めたい場合などに便利です。
注意点: 負の値を指定した場合も、土日および指定した祝日は除外されて計算されます。
例: 今日から5営業日前の日付を知りたい場合は、=WORKDAY(TODAY(), -5)のように入力します。これは、過去の営業日を正確に把握するのに役立ちます。
ADVERTISEMENT
WORKDAY関数とWORKDAY.INTL関数の機能比較
WORKDAY関数は汎用性が高いですが、週末を土日に固定しています。週末の曜日を柔軟に設定したい場合は、WORKDAY.INTL関数を使用します。
| 項目 | WORKDAY関数 | WORKDAY.INTL関数 |
|---|---|---|
| 主な機能 | 指定した開始日から土日祝日を除く営業日を計算 | 指定した開始日からカスタム設定した週末と祝日を除く営業日を計算 |
| 週末の曜日 | 土曜日と日曜日で固定 | 週末の曜日を自由に設定可能(例: 日月、金土、単一の曜日など) |
| 利用シーン | 土日休みが標準的な企業や一般的なプロジェクト管理 | シフト制勤務、特定の国や業界の慣習に合わせた週末設定が必要な場合 |
| バージョン依存性 | すべてのExcelバージョンで利用可能 | Excel 2010以降で利用可能(Excel for Microsoft 365、Excel 2019、Excel 2021でも利用できます) |
| 引数の数 | 3つ(開始日, 日数, 祝日) | 4つ(開始日, 日数, 週末, 祝日) |
WORKDAY.INTL関数は、3つ目の引数「週末」で、週末となる曜日を数値コードまたは文字列コードで指定できます。例えば「1」は土日、「2」は日月を表します。これにより、企業の業務形態や地域ごとの休日パターンに柔軟に対応できます。
特に、土日以外の曜日が休みとなる業種や、国際的なプロジェクトで異なる週末設定が必要な場合に、WORKDAY.INTL関数は非常に有効です。
まとめ
この記事では、ExcelのWORKDAY関数を使って土日祝日を除いた営業日後の日付を計算する方法を詳しく解説しました。
WORKDAY関数を使いこなせば、日付計算の時間を大幅に短縮し、業務の正確性を高められます。日付の形式や祝日リストの指定方法に注意しながら活用してみてください。
さらに柔軟な週末設定が必要な場合は、WORKDAY.INTL関数を試してみましょう。NETWORKDAYS関数と組み合わせることで、期間内の営業日数も算出できるようになります。
ADVERTISEMENT
超解決 Excel・Word研究班
企業のDX支援や業務効率化を専門とする技術者チーム。20年以上のExcel・Word運用改善実績に基づき、不具合の根本原因と最短の解決策を監修しています。ExcelとWordを使った「やりたいこと」「困っていること」「より便利な使い方」をクライアントの視点で丁寧に提供します。
Office・仕事術の人気記事ランキング
- 【Outlook】宛先が「オートコンプリート」に出ない・間違っている時の修正手順|履歴の削除と再構築
- 【Outlook】メールの受信が数分遅れる!リアルタイムで届かない時の同期設定と送受信グループ設定
- 【Word】差し込み印刷で数字の桁を整える!金額にカンマ(桁区切り)を入れる設定
- 【Excel】矢印キーで「セルが動かず画面がスクロールする」!ScrollLockの解除方法(ノートPC対応)
- 【Outlook】「メール送信を5分遅らせる」設定!誤送信を防ぐ最強のディレイ機能
- 【神技】保存せずに閉じたExcel・Wordファイルを復元する!消えたデータを復活させる4つの救出法
- 【Outlook】予定表の「祝日」が表示されない!最新カレンダーの追加と二重表示の修正手順
- 【Teams】会議の「参加者リスト」を出席後にダウンロードする!誰が参加したか確認する手順
- 【Teams】メッセージを「保存済み」にして後で読む!重要なチャットをブックマークして整理する技
- 【Excel】文字がセルの枠からはみ出す・隠れる!「折り返して表示」と「縮小して全体を表示」の使い分け
