Googleスプレッドシートで営業日数を算出する関数の使い方と、よくある「#VALUE!」エラーの回避法
BtoBの取引において、リードタイムの正確な把握や検収期間の算出はプロジェクト進行の要です。多くの場合、Googleスプレッドシートの関数を用いて営業日数を計算し、ガントチャートや請求スケジュールに組み込んで運用しています。しかし、毎年のように変わる祝日への対応や、他システムからエクスポートしたデータとの連携において、意図しない計算ズレやエラーが生じるケースが後を絶ちません。特に複数のベンダーが絡む開発案件や、月末締めの経理処理が集中する時期において、数日の計算ミスが致命的なスケジュール遅延を引き起こすことも珍しくありません。
NETWORKDAYS関数を用いた営業日数の算出
Googleスプレッドシートで稼働日を求める際は、NETWORKDAYS関数を利用するのが標準的なアプローチです。この関数は開始日と終了日を指定することで、土日を除外した日数を自動的に返します。さらに第三引数として祝日や会社の創立記念日などの特定休日を範囲指定すれば、より正確な実働期間を算出できます。ただし、指定する日付はスプレッドシートがシリアル値として認識できる形式で入力されている必要があります。
祝日マスタの運用と更新漏れのリスク
関数自体はシンプルですが、実務でボトルネックとなるのが祝日マスタの管理です。別シートに内閣府が公表する国民の祝日をリスト化し、それを参照する構成をとることが一般的です。担当者が年末に翌年分のデータを手作業で追記する運用になりがちですが、この更新作業が漏れると、翌年の納期計算が数日単位で狂う事態に発展します。特に振替休日や国民の休日は年によって変動するため、手作業によるメンテナンスは重大な計算ミスを誘発する要因になります。
頻発する#VALUE!エラーの原因と具体的な回避手順
他の業務システムから出力したCSVを取り込んで営業日数を計算する際、頻繁に直面するのが#VALUE!エラーです。このエラーの大部分は、引数として指定したセル内のデータが日付型ではなく、単なる文字列として認識されていることに起因します。システム側が出力する「YYYY/MM/DD」形式のデータに目視できないスペースが混入していたり、文字コードの問題でテキストとして扱われたりすることが原因です。
文字列データの変換とエラーの解消
エラーを回避するためには、計算を行う前にデータの型を統一する工程を挟む必要があります。該当するセル範囲を選択して表示形式を日付に変更する、あるいはDATEVALUE関数を用いて文字列をシリアル値に強制変換することで正常に計算されるようになります。また、IFERROR関数を組み合わせて、エラーが発生した際には空白や警告メッセージを表示させる設計にしておくと、エラーのまま後続の処理が進むリスクを低減できます。
メンテナンスの手間を排除するモダンな代替手段
スプレッドシートは汎用性が高い反面、正確な営業日計算を維持するためには関数のネストや祝日データの定期的な手動更新といった保守作業が継続的に発生します。複数のプロジェクトや異なるクライアントの締め日を同時に管理するディレクターや経理担当者にとって、こうした非生産的な作業は極力削減すべき対象です。より本質的な業務にリソースを集中させるためには、計算環境そのものを刷新するアプローチが有効です。
当サイトが提供する「営業日計算ツール」は、内閣府の最新の祝日データを自動取得するため、手作業によるリストの更新作業を完全に排除できます。ブラウザ上で動作するSPA構成となっており、直感的なカレンダー操作のみで即座に営業日数や納期を算出可能です。属人的な運用から脱却し、正確なスケジュール管理を実現するためにご活用ください。