Excel実務で困る「日付とシリアル値」完全対処ガイド

機能
この記事は約7分で読めます。

CSV・外部データでズレる原因と直し方

「日付なのに 45231 みたいな数字になる」
「CSVを開くと日付がズレる」
「VLOOKUPやXLOOKUPで日付が一致しない」

こうした“日付トラブル”は、ほぼすべて「シリアル値」が原因です。

この記事では、実務でよくある日付トラブルだけを症状別に整理しています。
そのため基本的な使い方は、ここでは扱いません。
日付に関する基本的なことを学びたい方は、下記ページをご確認ください。

  • 日付に関する書式設定 → 【こちら
  • 日付とシリアル値 → 【こちら

ここでは原因 → 見分け方 → その場で使える直し方練習用ファイルとセットで、一緒に手を動かしてながら理解できます。

練習用ファイルはExcelファイルとなっていますが
解説はCSVファイルを想定しています。
必要に応じて、ダウンロードファイルを
お手元でCSVファイルに変換していただいても大丈夫です。

ここでは以下のようなパターンを想定しています。

練習用ファイル内容
  • CSVから取った日付が文字列として入る
  • US形式の日付で正しい日付ではない
  • 日付に時刻も一緒に付いている
  • 見た目は同じなのに一致しない

Excelの日付は「数字」で管理されている

Excelは見た目に「2025/12/25」にように日付に見えますが、これは日付形式の書式設定が自動・もしくは手動で設定されているからで、実際には日付は「数字」で管理されています。

表示中身
2025/12/2546016

Excelで日付を扱う上で、これは絶対に押させておきたいポイントですね!

実務でよくある「日付ズレ」トラブル一覧

日付のズレでよくある例を一覧にしてみました。

症状原因
数字になる表示形式が標準
検索で抽出できない片方が文字列
1日ズレるタイムゾーン/日付に時刻データもついている
4年ズレる1900/1904年問題(Winと初期MacのOS設定)
CSVで崩れる文字列として取り込み

それ、日付?文字?シリアル値?見分け方

ここは、おさらい程度に簡単に見直しておきましょう。
一番簡単な見分け方は、リボンメニューのホームで中央あたりにある数値の項目を確認します。

日付書式の見分け方
日付書式の見分け方

上の画像は日付となっているので、A1セルの値は「日付形式」であることが分かります。

日付書式の見分け方
日付書式の見分け方

こちらは「標準」と表示されています。
Excelは本来シリアル値で管理されているのが「標準」なので、標準書式 = シリアル値となります。

日付書式の見分け方
日付書式の見分け方
日付書式の見分け方
日付書式の見分け方

どちらも見た目は日付の様に見えますが、よく見ると、どちらも「文字列」になっています。
他にも関数を使って、数値なのか文字列なのか判定する方法もありますが、おそらくこの方法が一番簡単です。

日付トラブルの基本的な直し方

基本的には、日付形式になっていないセル・もしくは列全体を選択して、リボンメニューのホームで中央あたりにあるプルダウンを「日付」に変更してあげれば、日付形式で表示されます。

日付トラブルの直し方
日付トラブルの直し方

ただ、この方法で直すと書式は「2025/12/25」の形式固定なので、他の形式が良い場合は Ctrl + 1 で書式設定を選んであげましょう。

CSV・外部データ取り込み時の落とし穴

CSVや外部データは、見た目が正しくても中身が違うことが非常に多く注意が必要です。
実務では日付にまつわるトラブルが起きやすい症状と対策をまとめました。

CSVファイルには「カンマ区切りのテキストファイル」なので、「日付」や「数値」などの概念はない。
そのため、他のデータと突合したい場合に、上手くいかないことがあります。

症状対策
文字列として入る「- -」やVALUE関数で数値化
US日付VALUE関数・LEFT関数・MID関数・RIGHT関数をネストして必要箇所を抜取り
時刻付きで1日ズレDATE関数・YEAR関数・MONTH関数・DAY関数をネスト

CSVや外部データ取り込み時のトラブルは実務でか起きやすいので、練習用ファイルを使って実際にやってみましょう。

文字列として入る

CSVや外部システムから取り込んだデータは、見た目は数字でも「文字列」として入っていることがあります。
この状態では合計が合わない、XLOOKUP関数で一致しないなどのトラブルが起きやすくなります。

対策としては、「–A1」 や VALUE関数で数値へ変換します。

練習用ファイル「文字列日付」シートを使用します

A列に日付が文字列として入っていますので、これをD列に「–」を使って数値化していきましょう。

文字列を「- -」で数値化
文字列を「- -」で数値化
文字列をVALUE関数で数値化
文字列をVALUE関数で数値化

どちらも簡単な作業で数値化に成功しました。

US日付

CSVや海外製ツール、Google系サービスからデータを取り込むと、日付が「月/日/年(MM/DD/YYYY)」形式で入ることがあります。

日本の「年/月/日(YYYY/MM/DD)」や「日/月/年」とは解釈が異なるため、Excelが日付を誤って解釈してしまうことがあります。

練習用ファイル「US日付」シートを使用します

例えば、A列のようは「03/04/2025」は、US形式では「2025年3月4日」ですが、日本の感覚では「4月3日」に見えてしまいます。このズレに気づかず処理を進めると、集計期間や検索条件がずれ、結果が合わなくなる原因になります。

対策としては、VALUE関数・LEFT関数MID関数RIGHT関数をネストして必要箇所を抜取りながら数値化します。

日付トラブル_US日付を日本日付に変換しながら数値化
日付トラブル_US日付を日本日付に変換しながら数値化

こうすることで、LEFT関数MID関数RIGHT関数で必要な値を抜取りながら、VALUE関数で抜き取った値を数値化することができました。

VALUE関数の記事は準備中ですが
VALUE関数は第1引数のみで
数値に変換したい値を第1引数に入れてあげるのみです

=VALUE(RIGHT(A2,4)&MID(A2,4,2)&LEFT(A2,2))

時刻付きで1日ズレ

システムや外部データでは、日付が「2025/12/26 00:00:00」のように時刻付きで管理されていることがあります。これをそのままExcelに取り込むと、思った結果にならないことがあります。

対策としては、DATE関数・YEAR関数・MONTH関数・DAY関数をネストして日付のみ抜取ります。

練習用ファイル「1日ズレ」シートを使用します

時刻付き日付を日付のみに変換
時刻付き日付を日付のみに変換

こうすることで日付部分だけを抜き取ることができました。

=DATE(YEAR(A2),MONTH(A2),DAY(A2))

VLOOKUP関数/XLOOKUP関数で日付が一致しない理由

CSVファイルには「カンマ区切りのテキストファイル」なので、「日付」や「数値」などの概念はありません。
そのため、他のデータと突合したい場合に、上手くいかないことがあります。

Excel上では同じ日付に見えても、中身が違うと検索は一致しません。

そのため、CSVから取り込んだデータと、Excel内のデータを VLOOKUP関数XLOOKUP関数で突合しようとすると

「見た目は同じ日付なのに、なぜか一致しない」

というトラブルがよく発生します。

結論から言うと、原因のほとんどは【片方が「数値の日付」、もう片方が「文字列の日付」】なことです。

Excelでは、日付は内部的には シリアル値(数値) として扱われます。
ですが、CSVから取り込んだ日付は、多くの場合 文字列 のままです。

練習用ファイル「見た目は同じなのに一致しない」を使用します

分かりやすく、それぞれのデータを並べてみました。

ExcelのA列とCSVのD列は、見た目は同じように見えるけれど、実際のデータの中身はG列とH列です。
Excelは数値なのに対して、CSVは文字列となっていて、全く異なるデータなので、 VLOOKUP関数XLOOKUP関数で突合しようとしても一致しません。

CSVトラブル_見た目は同じなのに一致しない
CSVトラブル_見た目は同じなのに一致しない

ここでもCSVのデータを数値化してあげることで解決します。
数値化したいのはE列のデータなので第2引数のEの前に「-」を2つ入れます。

CSVトラブル_見た目は同じなのに一致しない
CSVトラブル_見た目は同じなのに一致しない

すると、数値と数値なのでデータが一致して担当者を反映してくれました。

CSVトラブル_見た目は同じなのに一致しない
CSVトラブル_見た目は同じなのに一致しない
=XLOOKUP(A3,--E:E,F:F)

まとめ

ここまで一緒に見てきた通り、日付トラブルは「表示」と「中身」のズレが原因です。

Excelの日付の仕組みをしっかり理解できていれば、日付トラブルはほぼ防げます。

重要なポイント
  • 日付=表示、中身=数字
  • 合わない時は「型」を疑う
  • CSVは必ず疑う

実務において、日付はほぼ必ず扱うデータ項目なので
トラブルの原因と解消法をしっかり覚えておきましょう!

タイトルとURLをコピーしました