エクセル 日数計算 初日を含むには?+1が必要なケースを解説
「エクセル 日数計算 初日を含む」という検索で迷ったら、通常の差分に1を足す <code>=B2-A2+1</code> が基本です。ただし、開始日だけ・終了日だけを含める場合や、土日祝を除く場合は式が変わります。この記事では、開始日をA2、終了日をB2として、数え方を先に決めてから式を選ぶ手順を具体例で説明します。
この記事でわかること
結論:エクセル 日数計算 初日を含むなら通常の差分に+1
開始日と終了日の両方を1日として数える「両端入れ」なら、=B2-A2+1 を使います。たとえばA2が2026/4/1、B2が2026/4/10なら、=B2-A2 は9、=B2-A2+1 は10です。4月1日から4月10日までを一覧の10日として扱うときの考え方です。
一方、経過した日数だけを知りたい場合は =B2-A2 のままです。開始日を含むかどうかはExcelの機能で自動判定されません。休業期間、契約期間、請求期間など、目的に合わせて数え方を明記してください。
開始日だけを含めるなら差分に1を足し、終了日だけを含めるなら差分は通常のままです。両端を含めない場合は差分から1を引きます。4パターンを実際に比較したいときは両端入れ日数計算ツールを使うと、式を決める前の確認が簡単です。
| 数えたい結果 | コピーできる式 | 2026/4/1〜4/10の結果 |
|---|---|---|
| 開始日を含めない経過日数 | =B2-A2 |
9日 |
| 開始日と終了日を含む | =B2-A2+1 |
10日 |
| 開始日だけを含む | =B2-A2+1 |
10日 |
| 両端を含めない | =B2-A2-1 |
8日 |
| 土日祝を除く | =NETWORKDAYS(A2,B2,祝日範囲) |
曜日と祝日リストで変動 |
式を書く前の3つの確認
- 日付と日付の間隔を知りたいのか、カレンダーに並ぶ日を数えたいのか。
- 初日・最終日・両方のどこまでを対象にするのか。
- 土日、祝日、会社休日を除外する必要があるのか。
まず日付セルを正しく準備する
A2やB2が文字列のままだと、#VALUE! になったり、見た目は同じでも引き算ができなかったりします。セルを選び、日付として認識されているかを確認してから式を入れます。表示形式を変えるだけでは、取り込んだ文字列が日付に変換されないことがあります。
CSVから取り込んだ値、先頭にアポストロフィが付いた値、地域設定と異なる「2026年4月1日」の文字列は要注意です。必要なら =DATE(2026,4,1) のように日付を組み立て、まず =B2-A2 で差分が出るかを確認します。
Excelで日付がシリアル値として保存される仕組みやDATE関数の引数を確認したいときは、MicrosoftのDATE関数の説明を参照してください。
通常の差分はB2-A2、DAYSなら引数の意味を確認
A2が開始日、B2が終了日なら、=B2-A2 が最も短い式です。2026年4月1日から4月10日までなら、4月1日から4月10日までに経過した日数として9が返ります。旅行やプロジェクトの経過期間など、開始日の0時を基準にした間隔に向いています。
関数名で処理を説明したい場合は =DAYS(B2,A2) も使えます。DAYSは終了日を先、開始日を後に置く順番です。=DAYS(A2,B2) と逆にすると負の値になるため、表の見出しとセル位置を固定しておくと安全です。
入力順が逆なら負の値になります。勤怠や請求データでは、その値を隠す前に入力順を確認してください。
通常差分と両端入れを列名で分ける
同じワークシートに「経過日数」と「対象日数」を置くなら、列名にも数え方を入れます。たとえば「差分(日)」はB2-A2、「対象日数(両端)」はB2-A2+1です。列名が曖昧だと、あとから担当者が+1を重ねたり削ったりします。
終了日が開始日より前なら、=IF(B2<A2,"日付順を確認",B2-A2) のように警告を返せます。契約や給与のデータでは、負数を無理に正数へ変換しないほうが原因を追いやすくなります。
初日・終了日を含むときの+1を具体例で確認
「4月1日から4月10日まで」をカレンダーに印を付けた日数として数えるなら、1日、2日、3日…10日で10個あります。引き算だけの9は日付間の境界の数であり、対象となる日付の個数とは違います。これが初日を含む日数計算で+1が必要になる理由です。
開始日だけを含める契約や、終了日を翌日の境界として扱う処理では、式が同じでも業務上の意味が異なります。初日を含むという言葉だけで判断せず、「4月1日と4月10日をそれぞれ1日として扱うか」を文章で確認します。
同じ日を指定した場合、=B2-A2 は0ですが、両端入れの =B2-A2+1 は1です。誕生日当日、1日だけの休暇、棚卸し日などではこの差がそのまま結果になります。
片端だけを含める必要がある場合は、開始日と終了日のどちらを境界にするかをチームで統一します。式を複雑にするより、入力欄の近くに「両端を含む」と注記するほうが、引き継ぎ時の誤解を減らせます。
4月1日から4月10日の早見
- 通常の差分:
=B2-A2→ 9日 - 初日と終了日を含む:
=B2-A2+1→ 10日 - 同じ日:通常差分は0日、両端入れは1日
DATEDIFは年月日表示用で、+1とは役割が違う
「2年3か月12日」のように期間を読みやすく分けたいときは、DATEDIFの単位を組み合わせます。完全な年は "y"、年を除いた月は "ym"、月を除いた日数は "md" です。これは両端を含む日数を返す式ではありません。
たとえば =DATEDIF(A2,B2,"y")&"年"&DATEDIF(A2,B2,"ym")&"か月"&DATEDIF(A2,B2,"md")&"日" のように表示できます。年月日の見た目と、監査用の総日数は別のセルに分けると、月末やうるう年をまたぐ期間も確認しやすくなります。
DATEDIFは開始日が終了日より後だとエラーになり、月の日数が一定ではないため、総日数を30で割った値とも一致しません。式をコピーする前にA2がB2以前かを確認し、ゼロの単位を表示するかどうかも決めます。
DATEDIFの単位や引数の仕様は、MicrosoftのDATEDIF関数の説明で確認できます。
月末とうるう年では総日数も残す
1月31日から2月28日、うるう年の2月をまたぐ期間では、月の長さが違うため、DATEDIFの年月日表示と総日数の印象がずれることがあります。報告書では両方を残し、どちらを正式値にするかを注記します。
年齢や在籍期間の説明には年月日が便利ですが、日割り請求や期限判定では実際の日付差が必要です。表示形式だけで処理を代用せず、用途に合う列を用意してください。
今日までの日数はTODAYに+1するかを決める
A2から今日までの経過日数は =TODAY()-A2、開始日を1日目として数えるなら =TODAY()-A2+1 です。TODAYは再計算のたびに日付が変わるため、毎日更新する一覧や経過日数の表示に向いています。
開始日が未来なら負の値になります。予定日までの日数として見せるなら式を分け、開始日が未来のときは「開始前」と表示するほうが誤解がありません。
月末の締め処理など、あとで同じ結果を再現したい帳票では、TODAYではなく保存した基準日セルを参照します。計算日を固定するか、更新される値として扱うかをシートの説明に残してください。
未来の日付を空欄にする例
=IF(A2>TODAY(),"開始前",TODAY()-A2)- 開始日を含める場合は最後を
TODAY()-A2+1に変更します。 - 固定したい場合は、TODAYの代わりに基準日セルを参照します。
土日祝を除くならNETWORKDAYSを使う
平日だけを数える場合は =NETWORKDAYS(A2,B2) を使います。標準設定では土曜日と日曜日を除外し、開始日と終了日は営業日に該当すれば数えます。カレンダー日数の+1とは別のルールなので、式の説明を添えてください。
祝日や会社休日を除外するなら、F2:F20などに日付だけの休日リストを作り、=NETWORKDAYS(A2,B2,$F$2:$F$20) とします。$を付けて範囲を固定し、休日名を同じ範囲に混ぜないことがポイントです。
土日以外の休みを設定する場合はNETWORKDAYS.INTLを使います。基準日から5営業日後のように日付を求めるときはWORKDAYで、NETWORKDAYSは日数の集計、WORKDAYは到達日の計算という違いがあります。
NETWORKDAYSの引数と休日範囲を確認したいときは、MicrosoftのNETWORKDAYS関数の説明を参照してください。
日数計算と営業日数計算を混同しない
=B2-A2+1 は暦日ベースの両端入れ、=NETWORKDAYS(A2,B2,休日範囲) は勤務可能日ベースです。同じ期間を入力しても土日祝の数だけ結果が変わります。
曜日、祝日、会社独自の休業日まで正確に分けたい場合は、営業日数計算や平日・休日の集計ツールで結果を照合してください。
結果が1日ずれるときのチェック表
式が合っているのに結果が違うときは、入力セルの種類、端点のルール、休日範囲の3点を順番に確認します。次の表で原因を切り分けてください。
特に「4月1日から4月10日」が9なのか10なのかは、計算ミスではなく定義の違いです。正しい答えを探す前に、業務でどちらを必要としているかを決めます。
| 症状 | よくある原因 | 確認・修正 |
|---|---|---|
| #VALUE!になる | 日付が文字列になっている | DATEで日付を作り、セルの型と表示形式を確認する |
| いつも1日少ない | 通常差分と両端入れを混同 | B2-A2とB2-A2+1を並べて定義を確認する |
| 負の値になる | 終了日が開始日より前 | 入力順を直し、ABSで隠す前に原因を確認する |
| DATEDIFがエラー | 開始日が終了日より後 | A2がB2以前か、両セルが日付か確認する |
| 営業日が多すぎる | 祝日範囲を指定していない | NETWORKDAYSの第3引数に休日範囲を追加する |
| 毎日結果が変わる | TODAYを使っている | 固定基準日セルに置き換えるか更新値と明記する |
オンライン計算ツールで式を照合する
式を作ったら、サイトのエクセル日数計算ツールで通常差分、両端入れ、土日祝除外の結果を並べて確認できます。セルの値をそのまま入力し、Excelの結果と一致するかを見ます。
初日を含むか、終了日を含むかを4パターンで比較したい場合は両端入れ日数計算ツールが便利です。単に2つの日付の差を確認するだけなら日付計算を使います。
オンライン結果は式の検算用です。給与、契約、請求の正式な判断では、会社規程や契約書の数え方を優先し、採用した式と基準日をシートに残してください。
日数計算ツールを使うまとめ:先に数え方を決めてから式を選ぶ
エクセルの日数計算で初日と終了日を含むなら =B2-A2+1、経過した日数だけなら =B2-A2 です。DATEDIFは年月日表示、TODAYは今日まで、NETWORKDAYSは土日祝を除いた日数に使います。どの式も、数え方の定義を代わりに決めてくれるわけではありません。
迷ったら、通常差分と両端入れを両方計算し、対象期間の例を1行添えます。Excelの結果をエクセル日数計算と照合し、業務ルールと一致するほうを正式値として採用してください。
開始日、終了日、休日リスト、基準日を分けて保存すると、担当者が変わっても式の意図を追跡できます。小さな+1を曖昧にしないことが、日数計算の再現性を高めます。
エクセル 日数計算 初日を含む場合のFAQ
エクセルで初日を含む日数はどう計算しますか?
開始日をA2、終了日をB2に入れ、=B2-A2+1 とします。4月1日から4月10日なら10日です。
B2-A2とB2-A2+1は何が違いますか?
B2-A2は日付間の経過日数、B2-A2+1は開始日と終了日をそれぞれ1日として数える両端入れです。
開始日だけを含めたいときも+1ですか?
開始日を対象にし、終了日を境界として扱う定義なら+1になります。契約や請求では、対象日の定義を文書で確認してください。
同じ日を入力した場合の結果は?
通常差分は0日、両端入れは1日です。1日だけの休暇やイベントを数えるときに差が出ます。
DATEDIFに+1を足せば初日を含められますか?
DATEDIFは年月日を分けて表示する関数で、単純な両端入れとは役割が違います。総日数の両端入れはB2-A2+1で別に計算してください。
土日祝を除いて初日を含むには?
NETWORKDAYS(A2,B2,休日範囲)を使います。開始日と終了日が営業日なら含まれるため、暦日の+1とは別に休日リストを確認します。
日数が1日ずれる原因は何ですか?
通常差分と両端入れの定義、日付セルの文字列化、時刻の混入、休日範囲の漏れを順番に確認してください。
オンライン計算ツールの結果とExcelが合いません
開始日・終了日、端点のルール、土日祝の扱いを揃えてから式を見直してください。
関数の仕様を公式情報で確認する
引数の順番や日付単位を確認したいときは、Microsoftの公式サポートを参照してください。