エクセルで、文字として入っている日付を、計算できる日付(シリアル値)に変えるには DATEVALUE関数を使います。文字の「2026/10/21」は、=DATEVALUE(A3) で日付の 2026/10/21 になります。
CSVやほかのシステムから取り込んだ日付は、見た目は日付でも文字のことがあり、並べ替えや日数の計算がうまくいきません。この記事では、DATEVALUE関数の基本、読める形・読めない形、「.」区切りや8桁の数字の変換、時刻つきの文字の扱いまでを、1つの表で説明します。下の練習ツールで、文字の日付を書き換えて結果の変わり方を試せます。
DATEVALUE関数の書き方
結果はシリアル値(2026/10/21 なら 46316)です。結果のセルの表示形式を日付にすると、日付として表示されます。
まず動かしてみよう|この記事のサンプルをその場で試せます
練習用ファイルをダウンロードしなくても、記事と同じデータ・同じセル番地のサンプルをここで動かせます。黄色いセルを書き換えると、結果がその場で変わります。各解説の最後にある「▶ この式を試す」を押すと、このツールの該当セルへ移動します。
DATEVALUE関数で読める形・読めない形
| 文字の日付 | 結果 |
|---|---|
| 2026/10/21 | 読める |
| 2026年10月21日 | 読める |
| 令和8年10月21日・R8.10.21 | 読める(和暦も可) |
| 2026-10-21 | 読める |
| Oct 21, 2026 | 読める |
| 2026.10.21 | 読めない(#VALUE!) |
| 20261021 | 読めない(#VALUE!) |
| 2026/2/30(ない日付) | 読めない(#VALUE!) |
実際にエクセルで試した結果です。読めない形は、SUBSTITUTE関数や TEXT関数で読める形に直してから使います。
DATEVALUE関数の使い方|やりたいこと別の式
| やりたいこと | 式(例) | 結果 |
|---|---|---|
| 「/」区切りの文字 | =DATEVALUE(A3) | 2026/10/21 |
| 「年月日」の文字 | =DATEVALUE(A4) | 2026/10/21 |
| 和暦の文字 | =DATEVALUE(A5) | 2026/10/21 |
| 「.」区切りを直す | =DATEVALUE(SUBSTITUTE(A8,”.”,”/”)) | 2026/10/21 |
| 8桁の数字 | =DATEVALUE(TEXT(A9,”0000-00-00″)) | 2026/10/21 |
| 時刻つきの文字 | =DATEVALUE(A10) | 2026/10/21 |

文字の日付を日付に変換する
結果は 2026/10/21 です。「46316」と表示されたら、表示形式を「短い日付形式」にします(日付の表示形式)。
「年月日」や和暦の文字も変換できる
「2026年10月21日」も「令和8年10月21日」も、同じ 2026/10/21 になりました。
▶ この式(C4)を、練習ツールで試す / この式(C5)を、練習ツールで試す / この式(C6)を、練習ツールで試す
「.」区切りの日付を変換する
「2026.10.21」のように「.」で区切った文字は、そのままでは読めず、=IFERROR(DATEVALUE(A7),"読めない") は 読めない になりました。「.」を「/」に置き換えてから変換します。
結果は 2026/10/21 です(SUBSTITUTE関数の使い方)。
▶ この式(C7)を、練習ツールで試す / この式(C8)を、練習ツールで試す
8桁の数字(20261021)を日付にする
TEXT関数で「2026-10-21」の形にしてから変換し、2026/10/21 になります。DATE関数で =DATE(LEFT(A9,4),MID(A9,5,2),RIGHT(A9,2)) としても同じです(DATE関数の使い方)。
時刻つきの文字から日付だけ取り出す
「2026/10/21 14:30」から、時刻を除いた日付 2026/10/21 になります。時刻の部分は TIMEVALUE関数で取り出せます(TIMEVALUE関数の使い方)。
DATEVALUE関数がうまくいかないときの確認表
| 症状 | 考えられる原因 | 対処 |
|---|---|---|
| 「#VALUE!」になる | 読めない形(「.」区切り・8桁・ない日付) | SUBSTITUTE・TEXT関数で読める形にしてから使う。 |
| 「#VALUE!」になる | セルがすでに日付(数値) | DATEVALUE関数は文字用。日付ならそのまま使える。 |
| 数字(46316)が表示される | 結果はシリアル値 | 表示形式を日付にする。 |
| 年が今年になる | 「10/21」のように年がない | 年を付けた文字にしてから変換する。 |
DATEVALUE関数のよくある質問
列全体をまとめて日付にするには?
「データ」タブの「区切り位置」で、最後の画面の列のデータ形式を「日付」にすると、まとめて変換できます。
VALUE関数との違いは?
VALUE関数でも日付の文字はシリアル値になります。DATEVALUE関数は時刻の部分を除いて日付だけにする点が違います(VALUE関数の使い方)。
あわせて読みたい:日付の変換の関連記事
練習用ファイル:練習用Excelファイル(.xlsx・無料)
