日付計算の#NUM!と、マイナスの日数が出ることは別です。DATEDIFは開始日が終了日より後だと#NUM!になりますが、単純な引き算は負の日数を返せます。何を求める式なのかを確認してから直してください。
ADVERTISEMENT
1. DATEDIFなのか単純な引き算なのかを見る
開始日がA2、終了日がB2なら、=DATEDIF(A2,B2,"D")は開始日が後の場合にエラーになります。一方、=B2-A2は順序に応じて正または負の数を返します。開始日と終了日が同日なら日数差は0です。

| 症状 | 確認先 |
|---|---|
| DATEDIFで#NUM! | 開始日と終了日の順序、単位の指定 |
| 引き算で負の日数 | 順序が業務上正しいか |
| ####と表示 | 列幅と結果セルの日付・時刻書式 |
2. 日付を入れ替える前に入力の意味を確かめる
退職日が入社日より前など、データの誤りが疑われる場合は、元の記録を確認します。MINとMAXで自動的に並べ替えたり、ABSで符号を消したりすると、入力ミスが正常な期間に見えてしまいます。
確認中であることを残すなら、=IF(A2>B2,"日付を確認",DATEDIF(A2,B2,"D"))のように分けます。未入力や文字列の日付を許容する表では、その検査も別に行います。
3. 単純な日数差は引き算で求める
経過日数なら終了日から開始日を引き、結果セルを「標準」または「数値」にします。開始日と終了日の両日を数えたい場合の+1は、日数差とは別の集計規則です。必要な定義を先に決めます。
日付に時刻が含まれると小数の日数になることがあります。整数表示で小数が見えなくなっているだけかもしれないので、時刻を含む業務データでは丸め方も確認します。
4. 年数・月数は満年数・満月数として扱う
DATEDIFの「Y」「M」は単なる年や月の番号の差ではなく、期間内の満年数・満月数を求めます。「MD」は既知の制約があるためMicrosoftも利用を推奨していません。
年齢や勤続年数を作る場合は、基準日、月末、うるう日など、実際に扱う条件で確認します。順序を入れ替えればどんな業務にも正しい結果になるわけではありません。
5. ####を直すために日付システムを変えない
負の差が日付・時刻の書式で表示できない場合、まず結果を数値の日数として表示します。1904日付システムへ切り替える方法は、ブック内の日付や別ブックとの受け渡しに影響するため、表示修復の第一選択にはしません。
文字列の日付や古い年代を扱う場合は、表示形式だけで有効な日付になるとは限りません。ISNUMBERで型を確認し、対象年代を扱える方法を選びます。
6. 前後関係が業務に合っているか確認する
開始前、同日、翌日、月末を含む例で結果を照合します。日付間の距離だけが必要な場合に限りABSによる絶対値が候補になります。締切超過など符号に意味がある計算では、負数を消さずに残します。
参考: Microsoft公式: DATEDIF、日付間の差、日付システム
超解決 Excel・Word研究班
企業のDX支援や業務効率化を専門とする技術者チーム。20年以上のExcel・Word運用改善実績に基づき、不具合の根本原因と最短の解決策を監修しています。ExcelとWordを使った「やりたいこと」「困っていること」「より便利な使い方」をクライアントの視点で丁寧に提供します。
Office・仕事術の人気記事ランキング
- 【Excel】オートフィル(右下の+)が効かない!ドラッグできない時のオプション有効化設定
- 【Outlook】添付ファイルが「Winmail.dat」に化ける!受信側が困らない送信設定
- 【PDF】EdgeでPDFを開くと印刷できない・プリンタ一覧が出ない時のブラウザ再起動とシステムダイアログ
- 【Word】差し込み印刷の金額にカンマを付ける方法|小数・0・空欄の確認
- 【Outlook】祝日が表示されない・重複する時の対処|追加方法と対象年の確認
- 【Outlook】メールの受信が数分遅れる!リアルタイムで届かない時の同期設定と送受信グループ設定
- 保存せずに閉じたExcel・Wordを復元する方法|自動回復・未保存ファイル・履歴の確認
- 【Excel】COUNTAでセルの個数を数える方法|空文字・空白・COUNTとの違い
- 【Word】校閲機能の基本!赤字(変更履歴)とコメントで修正を見える化する
- 【PDF】入力した文字のフォント・サイズ・色を変更する方法|注釈とフォームの違い
