おはよう、後輩A君。
エクセルで、日にちの差を出そうとしたことはあるかな。「申込日から発送日まで何日かかったか」みたいな計算だよ。
やり方は簡単だよね。引き算するだけだよ。
=A1-A2
ところが、こうなることがあるんだ。
1900/1/7
7日と出てほしいのに、1900年の1月7日だよ。パソコンが壊れたのかと思うよね。
でも大丈夫だよ。計算は合っているんだ。今日はこの話をするね。
1. 答えは合っているんだよ
まず安心してほしいんだ。中身は7なんだよ。
おかしいのは見せ方だけなんだ。「7」という数字を、エクセルが日付として読み上げているだけなんだよね。
実際に私も試してみたよ。同じ引き算を2つのセルに入れて、片方だけ書式を変えたんだ。
書式が「日付」のセル → 1900/1/7
書式が「標準」のセル → 7
数式はどちらもまったく同じだよ。違うのは書式だけなんだ。
だから直し方も、書式を変えるだけなんだよね。
2. 直し方は10秒だよ
結果が出ているセルを選んで、こうするんだ。
① そのセルをクリック
② 上のリボンの「ホーム」タブを開く
③ 真ん中あたりにある「日付」と表示されている欄を探す
④ そこを「標準」に変える
これで7と表示されるよ。数式は触らなくていいんだ。
⚠️ 何個もまとめて直したいときは、その列ごと選んでから「標準」にすると一度で済むよ。
3. なぜ日付になってしまうのか
理由を知っておくと、次から驚かなくて済むと思うんだ。
エクセルは親切な推測をするんだよね。
「日付から日付を引いているな。
じゃあ、答えも日付だろう」
こう考えて、勝手に日付の書式を付けてくれるんだ。悪気はないんだよ。
「1-2」が日付になる話と同じで、エクセルは黙って種類を決めるんだよね。今回もその癖が出ただけなんだ。
4. なぜ「1900年」なのか
ここは知らなくても直せるんだけど、知るとすっきりすると思うから書くね。
エクセルは日付を数字で持っているんだ。こういう決まりなんだよ。
1900年1月1日 = 1
1900年1月2日 = 2
(中略)
2026年9月1日 = 46266
つまり日付は、1900年1月1日から数えて何日目かという数字なんだよね。画面には「2026/9/1」と見えていても、中身はただの数字なんだ。
だから引き算ができるんだよ。46266 – 46259 = 7、という具合だね。
そして「7」を日付として読むと、1900年1月1日から7日目=1900年1月7日になるんだ。
――エクセルは何も間違えていないんだよね。ちゃんと計算して、ちゃんと読み上げただけなんだ。
5. もうひとつのパターン:7.375
実はもうひとつ、驚く表示があるんだ。小数だよ。
7.375
これが出たら、原因はひとつだよ。日付に時刻が入っているんだ。
これも試してみたよ。
「2026/9/1 18:00」から「2026/8/25 9:00」を引く
↓
7.375
7日と9時間なんだよね。9時間は1日の0.375にあたるから、この数字になるんだ。
システムから出力したデータだと、見た目は日付だけなのに、裏に時刻が入っていることがあるんだよ。列の幅が狭いと時刻が隠れて見えないんだよね。
直し方
=INT(A1-A2)
INTは小数を切り捨てる命令だよ。これで7になるんだ。
⚠️ 切り捨てなので、7.9でも7になるよ。「ほぼ8日」を8にしたいなら、INTではなくROUND(四捨五入)を使うんだ。どちらが正しいかは、数える目的で決まるんだよね。
6. 意外と平気だったこと
ここで、私が試して意外だったことも書いておくね。
前回の記事で「見た目が同じでも中身が違うことがある」と書いたよね。だから今回も、書き方が違うと引き算できないだろうと思っていたんだ。
ところが、こうだったんだよ。
「2026年9月1日」 → 引き算できた ✅
「2026/9/1」(全角)→ 引き算できた ✅
どちらもエクセルはちゃんと日付として認識していたんだ。日本語の書き方も、全角の数字も大丈夫だったんだよね。
⚠️ ただし油断はしないでほしいんだ。認識されたかどうかは、見れば分かるよ。
セルの中で右寄せ → 日付として認識されている ✅
セルの中で左寄せ → ただの文字。計算できない ❌
何もしていないのに右に寄っていたら、それは日付なんだ。左に寄っていたら文字なんだよね。1秒で見分けられるんだ。
7. ⚠️ 月数の引き算には、落とし穴があるんだよ
最後にひとつだけ、気をつけてほしいことがあるんだ。
日数ではなく「何ヶ月か」を出したいとき、こういう関数があるんだよ。
=DATEDIF(開始日, 終了日, “m”)
これで月数が出るんだけど、実際に試したらこうだったんだ。
2026/1/31 から 2026/3/1 まで
↓
1(1ヶ月)
1月31日から3月1日は、感覚だと「1ヶ月と1日」だよね。それが1と出るんだ。丸ごと切り捨てなんだよ。
似た話でもうひとつ。「1ヶ月後」を出すEDATEという関数もこうなるんだ。
2026年1月31日の1ヶ月後
↓
2026年2月28日
2月に31日はないから、その月の最終日に丸められるんだよね。
⚠️ ここが大事なところだよ。日数の計算はきっちり合うけれど、月数の計算には「解釈」が入るんだ。
だから契約期間や支払日みたいにずれたら困るものは、月数で計算せずに日数で数えるか、目で確かめるほうが安全だと思うよ。
8. このシリーズは、今日で9本目だよ
エクセルの困りごとを並べておくね。
① 指数表示になる
② 先頭の0が消える
③ 「1-2」が日付になる
④ 並べ替えたら行がバラバラ
⑤ 数字なのに計算されない
⑥ エラー表示の意味
⑦ コピーしたらズレる
⑧ 見えない空白
⑨ 日付を引いたら1900年 ← 今日
今日の⑨は、シリーズの中でいちばん被害が小さいものなんだ。
だって答えは合っているんだからね。⑤や⑧みたいに、静かに間違った結果が出るわけじゃないんだ。驚くだけで済むんだよ。
――でもね。驚いて手が止まるのは、けっこうな損なんだよ。「壊れた」と思って作り直したり、人に聞いて回ったり。原因を知っていれば10秒で済む話なんだよね。
知らないと1時間、知っていれば10秒。エクセルの困りごとって、だいたいそういう形をしていると思うんだ。
結論:1900年が出たら、書式を「標準」にしようか
今日の話をまとめるとこうだよ。
① 「1900/1/7」が出ても計算は合っている
② 直すのは書式だけ。ホーム → 「標準」に変える
③ 原因はエクセルの親切な推測(日付ー日付=日付だろう、という)
④ 日付の正体は1900年1月1日から数えた日数
⑤ 7.375のような小数が出たら、時刻が隠れている。INTで切る
⑥ 日本語表記も全角もちゃんと日付として扱われる
⑦ 見分けるのは右寄せか左寄せか
⑧ ⚠️ 月数の計算には解釈が入る。ずれたら困るものは日数で
今日いちばん伝えたかったのは、①なんだ。
変な表示が出たとき、いちばん怖いのは「全部やり直したほうが早いかも」と思ってしまうことなんだよね。でも今回は、壊れていないんだ。
後輩A君も、見たことのない表示が出たら――まず「中身も壊れているのか?」を確かめてみようか。
見た目だけの問題なら、たいてい10秒で直るんだよ。
よくある質問
Q1. 書式を「標準」にしたのに、まだ日付のままです
そのセルに元から日付が入っていた可能性があるよ。書式を変えても表示が変わらないときは、いったんそのセルを削除して、数式を入れ直すと直ることが多いんだ。それでもダメなら、隣の空いているセルに同じ数式を入れてみようか。そこで7と出るなら、元のセルの設定が残っているだけだよ。
Q2. 「営業日」で数えたいのですが
土日を除いて数える関数があるよ。=NETWORKDAYS(開始日, 終了日) だね。祝日も除きたいときは、どこかに祝日の一覧を作って3つ目に指定するんだ。ただし祝日は自分で入力する必要があるよ。エクセルは日本の祝日を知らないんだ。
Q3. 引き算の結果が「-5」とマイナスになりました
引く順番が逆だよ。「新しい日付 - 古い日付」の順にすると、プラスになるんだ。並べ替えたあとの表だと、上下の行が入れ替わっていて逆になることがあるんだよね。マイナスが出たら、まず順番を疑ってみようか。
Q4. 日数に「その日も含める」にしたいです
引き算の結果に+1すればいいよ。9月1日から9月3日までを「3日間」と数えたいときだね。⚠️ ここは数え方の決め事で、正解が1つではないんだ。請求や勤怠なら、先に「どちらの数え方か」を確認してから作ったほうがいいと思うよ。あとから直すと、全部やり直しになるからね。
【本日のミッション:右寄せか左寄せか見てみようか】
- ☐ 手元の表で、日付が入っている列を見てみようか
- ☐ 何もしていないのに右に寄っていれば日付、左なら文字だよ
- ☐ (後輩A君へ)変な表示が出たら、作り直す前に書式を見てみようか。壊れていないことのほうが多いんだよ
📚 AI活用シリーズ(おすすめ)

コメント