Excel で日と月を取り違えずに文字列を日付に変換する方法
DATEVALUE、年月日の明示的な組み立て、Power Query のロケール設定で文字列を日付に変換します。元データを残し、曖昧な日付や存在しない日付を確認する手順です。
セルの表示形式を日付に変えても、文字列が使える Excel 日付になるとは限りません。さらに、変換自体は成功しても日と月が逆になることがあります。03/04/2026 は3月4日とも4月3日とも読めます。
安全に進めるには、元データの日付の並び順を確認し、元の文字列を残したまま新しい列に変換します。曖昧な日付や実在しない日付は推測せず、確認対象として示してください。その後で必要な表示形式を設定します。
セルが文字列か数値かを調べる
補助列で次の式を試します。
=ISTEXT(A2)
=ISNUMBER(A2)
2つの式は別々に使ってください。Excel の日付は数値のシリアル値として保存されますが、ISNUMBER が TRUE でも、そのデータにとって有効な日付とは限りません。数量の 500 も数値だからです。出所と想定する日付範囲を確認しましょう。Microsoft の文字列の日付を変換するガイドでは、値の変換と結果の表示形式の違いを説明しています。
以下の例は英語の関数名とカンマを使っています。Excel の言語や地域設定によっては、関数名の翻訳やセミコロンが必要です。
変換前に入力の並び順を確認する
次は架空の入力例と、それぞれに必要な判断です。
| 元の文字列 | 確認済みの並び順 | 正しい扱い |
|---|---|---|
| 2026-10-11 | 年-月-日 | 2026年10月11日 |
| 03/04/2026 | 不明 | 推測せず確認する |
| 03/04/2026 | 日/月/年 | 2026年4月3日 |
| 31/04/2026 | 日/月/年 | 4月は30日までなので無効 |
| 2024-02-29 | 年-月-日 | 有効なうるう日 |
| 2025-02-29 | 年-月-日 | 無効なうるう日 |
日が12を超える値は、一貫した出所の並び順を判断する手掛かりになります。ただし、複数の形式が混在するエクスポートの全行が同じ順序だとは証明できません。データ提供者に尋ねるか、出力仕様を確認してください。複数のシステムから統合したデータなら、変換前に出所ごとに分けます。
認識できる一貫した文字列には DATEVALUE を使う
システムが認識する日付の並び順に合う文字列なら、別の結果列に次の式を入れます。
=DATEVALUE(A2)
数値の結果に日付の表示形式を設定します。下方向にコピーする前に、日と月がわかっている日付で確かめてください。
DATEVALUE はシステムの日付設定に依存するため、曖昧な値は別のパソコンで異なる結果になる場合があります。また、認識できる日時文字列の時刻部分は無視されます。タイムスタンプを保持する用途には使わないでください。Microsoft の DATEVALUE の説明を参照してください。
変換エラーを今日の日付やゼロに置き換えてはいけません。もっともらしく見えても元データとは無関係な値になります。元の文字列の横に、確認が必要であることを記録しましょう。
固定の年月日形式を明示的に組み立てる
元データが有効な10文字の YYYY-MM-DD 形式だと確認できている場合は、各要素から日付を作れます。
=DATE(VALUE(LEFT(A2,4)),VALUE(MID(A2,6,2)),VALUE(RIGHT(A2,2)))
2026-10-11 なら、2026を年、10を月、11を日に割り当てます。結果は曖昧さのない年月日形式で表示してください。
この式は要素を変換するもので、日付の妥当性を検証するものではありません。 DATE は範囲外の要素を繰り越して調整します。例えば2025年2月29日を渡すと、入力を拒否せず2025年3月1日を返します。この動作は Microsoft の DATE の説明に記載されています。
信頼できるか不明な入力では、文字数と区切りの位置、各要素が数値であること、年が有効であることを確認します。そのうえで、変換後の年・月・日を元の要素と比較してください。一致しないものは確認リストに入れます。この方法は業務で想定する範囲の現代の日付に限定してください。歴史的な日付やブックの日付システムの違いには、別の対応が必要です。
繰り返しの取り込みには Power Query を使う
定期的に届くエクスポートなら、ロケールを明示した再実行可能な取り込み手順のほうが、毎回手作業で修正するより管理しやすくなります。Power Query を使える Excel では次の手順です。
- データ → テキストまたは CSV からで元データを取り込み、データの変換を選択します。
- 適用したステップを確認します。自動の「変更された型」ステップが既に日付列を解釈していたら、元の文字列の段階に戻り、その変換を削除または置換します。誤って解釈された日付を文字列に戻しても、元の文字列は復元できません。
- 元の文字列列のコピーを残します。変換する列で型の変更 → ロケールを使用を選択します。
- 型は日付、ロケールは出所に合うものを指定します。日/月/年だと確認できているなら英語(英国)、月/日/年なら**英語(米国)**などです。
- 読み込む前にエラーを確認し、既知の日付を抜き取って調べます。エラー件数を消すために無効な行を削除せず、修正できるよう残してください。
ロケールは見た目だけでなく、文字列をどう解釈するかを決めます。Microsoft の Power Query のデータ型とロケールに詳しい説明があります。1列に出所不明の複数形式が混在する場合は、ロケールを選ぶだけでは解決できません。取り込みの他の設定は、CSV を安全に読み込むガイドを参照してください。
GetSheetAI に変換と例外の抽出を依頼する
GetSheetAI の Excel サイドバーで、元データの並び順と必要な出力を説明します。例えば次のように依頼できます。
Order Date 列のデータが入っている範囲を確認してください。出力仕様では日/月/年の順で、年は4桁です。元の列を残してください。Parsed Date と Review Reason 列を作り、この形式に一致する曖昧さのない有効な暦日だけを変換してください。無効、欠落、規則に矛盾する入力では Parsed Date を空にし、各問題を説明してください。別の形式の行の意味を推測したり、行を捨てたりしないでください。他の列は変更しないでください。変換済み、欠落、要確認の行数を集計し、各分類の例を示してください。
元の形式が不明なら、自動変換ではなく調査と例の提示を先に依頼しましょう。サンプルの日と月がすべて12以下の場合は、ルールを指定することが特に重要です。
並べ替えや集計の前に日付を検証する
日と月が異なる既知の日付、うるう日、欠落値、無効な日付を確認します。各入力行が「変換済み」「欠落」「要確認」のどれか1つに入ることを確かめてください。変換済みの行には想定範囲内の数値の日付が入り、元の文字列は変更されていない必要があります。
続いてコピーを変換後の日付で並べ替え、月や年をまたぐ順序が正しいか調べます。月次レポートに使う場合は月の境界付近のレコードをいくつか確認してください。日と月が逆でも Excel エラーにはならず、売上が誤った集計期間に入ることがあります。
さらに広く整えるなら、Excel データクリーニングのチェックリストに進んでください。日付変換が完了するのは、セルの見た目が揃ったときではなく、値が意図した意味になったときです。
