019 / CSV日付変換
CSV 日付 変換でExcelに壊されない方法。yyyy-mm-dd・月日・シリアル値対策
CSVの日付は、Excelで開いた瞬間に表示形式が変わったり、先頭ゼロが消えたり、システム側の取り込みでエラーになることがあります。アップロード前に見るべき点を整理します。
基本情報
| 項目 | 内容 |
|---|---|
| 対象 | CSV内の日付列をExcelや取込先で崩さず扱いたい人 |
| 主な入力 | yyyy-mm-dd、yyyy/mm/dd、yyyymmdd、月日表記、Excelシリアル値 |
| 確認項目 | 取込先の要求形式、区切り文字、空欄、先頭ゼロ、文字コード、タイムゾーン |
| 推奨手順 | 元ファイルを保存し、少量で変換・取込テストをしてから全件を処理 |
| 最終確認日 | 2026年7月14日 |
CSVの日付変換で最初に決めること
- CSVの日付は、見た目ではなく「取り込み先が期待する形式」に合わせる必要があります。
- Excelで直接開くと、自動変換で日付、数値、先頭ゼロが変わることがあります。
- アップロード前に、形式、区切り文字、空欄、タイムゾーン、文字コードをセットで確認します。
結論: CSVの日付はExcelで開く前に形式を固定する
CSVの日付変換は、まず取り込み先が求める形式を決めます。迷う場合は yyyy-mm-dd のように年、月、日が分かれる形式に統一し、Excelで直接開かず、テキストとして取り込むか変換テンプレートで列ルールを固定します。
Excelで開いてから保存すると、2026-07-06 が表示上 2026/7/6 になったり、0012 のようなコード列が 12 になることがあります。CSVアップロード前は、日付列だけでなく文字コード、空欄、先頭ゼロも一緒に確認します。
よくある日付形式
| 形式 | 例 | 注意点 |
|---|---|---|
| yyyy-mm-dd | 2026-07-06 | 多くのシステムで扱いやすい標準形です。月日を2桁に揃えると比較もしやすくなります。 |
| yyyy/mm/dd | 2026/07/06 | Excelで日付として再解釈されやすい形式です。保存時の表示崩れに注意します。 |
| 月日だけ | 7月6日 / 7/6 | 年が補完され、意図しない年になることがあります。年を別列で持つ場合は仕様を確認します。 |
| シリアル値 | 46209 | Excel内部の日付値として扱われることがあります。CSVとして渡す前に人が読める形式へ戻します。 |
| yyyymmdd | 20260706 | 文字列として扱わないと数値化されることがあります。先頭ゼロがあるコード列と混ざらないようにします。 |
変換前に決めること
- 取り込み先の仕様: 必須の日付形式、空欄可否、時刻の有無を確認します。
- 編集方法: Excelで開くのか、テキストエディタや変換ツールで処理するのかを決めます。
- 保存形式: UTF-8、Shift_JIS、BOMありなしなど、相手先に合わせます。
- 検算方法: 先頭行だけでなく、末尾行、空欄行、月末日も確認します。
Excelで壊れやすいポイント
- 「2026-07-06」が表示上「2026/7/6」になる。
- 「20260706」が数値扱いになり、他の列と混ざる。
- 「07/06」が今年の日付として補完される。
- 「0012」のようなコード列が「12」になる。
- CSV保存時に文字コードが変わり、別システムで文字化けする。
CSVの日付変換は、日付列だけの問題に見えて、実際は文字コード、列名、先頭ゼロ、区切り文字まで一緒に確認する作業です。