Excelで土日・祝日を数式だけでカウントする方法
実務で頻繁に遭遇する「土日や祝日の個数をカウントしたい」というニーズ。手作業では時間がかかる上、ミスのリスクも高まります。この記事では、VBAを使わずにExcelの数式だけで簡単に解決する方法をお伝えします。UNIQUE関数とNETWORKDAYS.INTL関数を組み合わせることで、効率的に土日や祝日の個数をカウントできます。また、マウス操作での代替案も紹介し、あなたの業務効率を大幅に向上させます。
📊 やり方の比較
| 手法 | メリット | デメリット | 推奨 |
|---|---|---|---|
| 数式(NETWORKDAYS.INTL関数) | 自動更新される、VBAを使わずにカスタマイズ可能 | 古いExcelでは使えない可能性がある | ◎ |
| マウス操作(手動でカウント) | 直感的で簡単 | 元データが消える、時間がかかる | △ |
fx 使用する数式
Excel / SpreadSheet
=NETWORKDAYS.INTL(A2:A10, B2:B10, 1, C2:C10)💡 仕組みの解説
【数式の仕組み】この数式は、指定された期間内の土日や祝日の個数をカウントします。NETWORKDAYS.INTL関数は、開始日と終了日、およびオプションで祝日リストを受け取ります。引数の詳細は以下の通りです。
- start_date (A2:A10): カレンダー期間の開始日を指定します。
- end_date (B2:B10): カレンダー期間の終了日を指定します。
- weekend: 週末の定義を指定します。数字1は土日、2は月曜日と火曜日の週末を表します。
- holidays (C2:C10): 祝日リストを指定します。祝日が含まれるセル範囲を入力します。
この関数は元のデータを削除するのではなく、別の場所に抽出した結果を表示します。
具体的な手順
1
NETWORKDAYS.INTL関数を使用して、開始日と終了日を指定します。
2
週末の定義(土日)を引数に設定します。
3
祝日リストを別セル範囲で用意し、関数に渡します。
よくある質問
Q Q1. VBAと比べてどのような利点がありますか?
A.
VBAを使用するよりも簡単に実装でき、Excelの最新機能を利用できます。また、マウス操作に比べると大幅な時間短縮が可能です。
Q Q2. スピルエラーとは何ですか?
A.
スピルエラーは、関数や公式がセル範囲を超えて計算結果を表示しようとした場合に出ます。関数の引数範囲を確認し、適切な範囲に修正してください。
Q Q3. スマホ版でも使える?
A.
はい、スマートフォン版のExcelやGoogleスプレッドシートでも同様の機能を使用できます。ただし、操作性が異なるため、PC版と比べて若干不便な点があります。