【Excel関数】平日だけを数えたいとき(NETWORKDAYS)

Excel

はじめに

どんな人向けの記事か?

この記事は、次のリストに当てはまる人向けと思ってます。

  • Excelを使ってスケジュールをたてたい人向け

また、本記事で使用しているExcelは「Office 365 solo」のものです。

期間の計算で悩む…

○○日~△△日までの期間は何日かな?とExcelで計算するとき、以下の図のように単純に引き算をすれば日数が計算できます。

ただし、単純に日付の差をとっているだけなので、引き算しただけの値となります。

土日休みだから、そこは期間に含めたくないなぁ~

休む予定が決まっているところも期間に入れたくないですね~

でも、「この日は予定が…」とか、「土日は休みが…」とかあると思いますし、その辺の日は外したいと考えますよね。

そんな時には次の関数を使うと簡単に計算できますよ。

NETWORKDAYS関数

関数の説明

NETWORKDAYS関数は、開始日から終了日までの稼働日の日数を返します。稼働日は土曜、日曜、祝祭日に指定された休日を除く日を指します。

関数の書式と計算例

NETWORKDAYS(開始日, 終了日, [祝祭日])

開始日と終了日は入力しないといけません。祝祭日は入力してもしなくても計算してくれます。

[祝祭日]に何も記入しない時の例です。土日を減らした期間の日数が取れます。

図1. 11月1日~11月13日までの土日を除いた日数を求めてくれます。

こちらは、[祝祭日]に記入した時の例です。11月4日を祝日としています。

図2. 11月1日~11月13日までの土日と[祝祭日の日]を除いた日数を求めてくれます。

[祝祭日]は、別のシートにあらかじめ用意しておくとよいです。以下の画像のように範囲選択することで、複数の祝祭日を[祝祭日]の項目に記入することができます。

図3 祝祭日を事前に記入しておく例

範囲指定した時の例を書いておきますね。

図4 11月1日~11月13日までの土日と[祝祭日の日]を除いた日数を求めてくれます。 (図2と一緒)

「祝日」というシートを作って、祝祭日を記入しておいて利用する方法です。ゴールデンウィークやお盆休みなど、一定期間に何回か土日以外の休日があるときに便利な指定の仕方です。

便利だけど…。土日が休みじゃない職場で働いているから使い道がないなぁ…

完璧に対応ができるかは少し難しいけれど・・・

こんな関数もありますよ!

NETWORKDAYS.INTL関数

関数の説明

NETWORKDAYS.INTL関数は、開始日から終了日までの稼働日の日数を返します。稼働日はユーザーの指定した週末、祭日に指定された休日を除く日を指します。

関数の書式と計算例

NETWORKDAYS.INTL(開始日, 終了日, [週末], [祭日])

NETWORKDAYS関数とほぼ同じですが、[週末]という項目が増えています。この項目に休日とされているパターンを入力します。パターンは入力中に下の画像のように出てきますので、当てはまるものを選んでください。[祭日]はNETWORKDAYSの[祝祭日]と同じです。

図5 週末設定のパターン

例えば、水曜が固定でお休みの場合は、[週末]に「14」を入力すればOKです。水曜日以外の休日は、図3のように別シートに日付を記入しておいて、まとめて[祭日]に記入するようにすれば稼働日から除外して計算してくれます。

図6 定休日:水曜日 その他の休日:月曜日、金曜日にした場合(2019年11月カレンダー)
図7 NETWORKDAYS.INTLを使った計算結果

[祭日]をうまく使うことで可変的な休日の対応もできます。ですが、休日が可変かつ、多くの人をまとめて管理する、というのは却って大変だと思いました。(休日をそれぞれ入れるのが逆に手間だと思います)

一人分のスケジューリングなら、この方法で割と使っていけると思いました。

まとめ

  • 土日休みの方は「NETWORKDAYS」を使おう
  • 別の曜日が固定休の方は「NETWORKDAYS.INTL」を使おう

休日などを意識して、締め切りまでの日数を計算したいときに使うことができると、スケジュール管理などに割と便利に使えますよ!

参考リンク

NETWORKDAYS function - Microsoft Support
Syntax: NETWORKDAYS(start_date, end_date, )
国民の祝日について - 内閣府
内閣府 国民の祝日について。国民の祝日に関する法律や政令、年間の国民の祝日の一覧など。

コメント

タイトルとURLをコピーしました