12/18/2015

Excel。holiday。期間内の祝日・祭日の日数を数えたいけど、どうしたらいい?


Excel。期間内の祝日・祭日の日数を数えたいけど、どうしたらいい?

<COUNTIF関数>


とあるご質問をいただきまして、指定の期間の中で、

祝日・祭日が何日あったのかを数える方法はありませんかね?

というもの。

なるほど~。祝日・祭日を数える方法は簡単そうですが、ちょっとアイディアが必要ですよね。

まずは、祝日・祭日がExcelに登録されている訳ではありませんので、
いの一番は、下記のような祝日・祭日の一覧表を作っておく必要があります。

このような一覧表がないと、判断させる方法がありません。
ですので、複数年にわたる場合は、その期間の祝日・祭日の一覧が必要になります。

そして、いつからいつまでと入力できるところも合わせて作っておきましょう。

さて、ここからが本題ですが、開始日以上の祝日・祭日の数を数えて、
終了日より大きい祝日・祭日の数を数えて、
引いてあげればその間の祝日・祭日の数を求めることができますよね。

いっぺんに、一つの数式で算出するのもいいのですが、
まずは、開始日と終了日の数式を作って確認してみることにしましょう。

開始日に、2016/3/1と、終了日に、2016/4/30と入力しておきます。

G2をクリックして、COUNTIF関数ダイアログボックスを表示しましょう。

範囲は、祝日・祭日の一覧のB2:B17を選択します。

検索条件には、G2以上という条件ですので、以上なので、”>=” と入力して、&G2 と入力します。

">="&G2

比較演算子を入力する場合には、”(ダブルコーテーション)を忘れずに。

では、OKボタンをクリックしましょう。

続いて、終了日も作っていきましょう。COUNTIF関数ダイアログボックスを表示しましょう。

範囲は、祝日・祭日の一覧のB2:B17を選択します。

検索条件には、G3より大きいという条件ですので、以上なので、”>” と入力して、
&G3 と入力します。">"&G3

では、OKボタンをクリックしましょう。

両方の数値が算出できましたね。

開始日に13。終了日に10。と算出されましたので、13-10で3。
つまり、祝日・祭日の数は、3日ということが求められました。

実際確認してみると、3/20・21と4/29なので、確かに3日間ですね。

では、なぜ終了日がより大きいという比較演算子なのかというと、
その日を含めてみるとわかりますので、終了日の数式を

=COUNTIF(B2:B17,">="&G3)

としてみて、開始日と終了日をそれぞれ、2016/1/1としてみます。

以上と含めてしまうと、同数になってしまい、減算すると、ゼロになってしまいます。

しかし実際は、該当日は1日ありますので、1を算出する為に、
より大きいという条件にしている訳ですね。

さてそれでは、G5に祝日・祭日の数を求める数式を作っていきましょう。

両方の数式を合体させるだけですので、

=COUNTIF(B2:B17,">="&G2)-COUNTIF(B2:B17,">"&G3)


これで、完成ですね。