- 公開日:
- 更新日:
ExcelのDATEVALUE関数の使い方|文字列を日付に変換する
この記事では、ExcelのDATEVALUE関数の使い方についてご紹介します。
DATEVALUE関数を使うと、文字列形式で入力した日付のデータを日付計算ができる形式に変換することが出来ます。
DATEVALUE関数を使って西暦を和暦に変換する方法や、#VALUE!エラーが表示された場合の対処法等についてもご説明していますので参考にしてみてください。
DATEVALUE関数とは?
DATEVALUE(デートバリュー)関数とは、文字列で入力された日付をシリアル値に変換する関数です。

例えば、上の画像ではC3セルに「B3セルに入力された日付をシリアル値に変換する」という意味のDATEVALUE関数が入力されています。
シリアル値とは?
シリアル値とは、エクセルにおいて日付や時間を数値に置き換えたものです。
Excelで日付や時間の計算をしたい場合は、データをシリアル値に変換する必要があります。
シリアル値では「1900年1月1日」を1として数え、「1900年1月1日」から何日経過したかを数値化しています。

例えば上の画像のように「2021年7月5日」は1900年1月1日から数えて44382日目となるので、シリアル値は「44382」になります。
DATEVALUE関数の用法
DATEVALUE関数は、以下のような場面で活用することが出来ます。
- 文字列として入力していた日付を計算に使いたい時
- 日付を昇順や降順で並べなおしたい時
- 西暦で入力した日付を和暦に変換したい時
DATEVALUE関数の書式
まずは、DATEVALUE関数の書式を確認していきましょう。

DATEVALUE関数の書式は「=DATEVALUE(日付文字列)」のように記述し、シリアル値に変換したい日付の文字列が入力されているセル番地を「日付文字列」の引数として設定します。
※引数(ひきすう)とは、Excelの関数を使用する際に必要な情報です。関数が結果を返すための判断材料とイメージしましょう。関数名の後の括弧「()」内に入力します。
DATEVALUE関数の使い方
DATEVALUE関数の使い方について、ご説明します。
DATEVALUE関数を使ってシリアル値に変換する方法
DATEVALUE関数を使って、文字列として入力した日付をシリアル値に変換する方法についてご説明します。

任意のエクセルファイルを開き、DATEVALUE関数で変換したい文字列をあらかじめ入力しておきます。【任意のセル(例:B3)】を選択して、『2021/07/05』と入力し、【Enter】キーを押します。

DATEVALUE関数を入力します。【任意のセル(例:C3)】を選択し、『=DATEVALUE(』と入力します。

日付文字列の引数を設定します。今回はB3セルに入力した日付をシリアル値に変換したいので「=DATEVALUE(」に続いて『B3)』と入力し、【Enter】キーを押します。

これで、DATEVALUE関数を使って日付をシリアル値に変換することが出来ました。
西暦年を和暦に変更する方法
DATEVALUE関数を使って、西暦で入力した日付を「平成」「令和」などの和暦に変換する方法をご説明します。

あらかじめ【任意のセル(例:B3)】を選択し、『任意の日付(例:2021年7月6日)』を文字列として入力しておきます。

【任意のセル(例:C3)】を選択し、『=DATEVALUE(』と入力します。

日付文字列の引数として、B3セルを設定します。
「=DATEVALUE(」に続いて『B3)』と入力し、Enterを押します。

表示形式を変更します。
①【DATEVALUE関数でシリアル値に変更した日付(例:C3)】を選択します。
②【ホーム】タブ、③「数値の書式」の【▼】、④【その他の表示形式】の順に選択します。

「セルの書式設定」ダイアログボックスが表示されます。
①【表示形式】タブ、②【日付】、③「種類」の【平成24年3月14日】の順に選択します。
④「カレンダーの種類」で【和暦】を選択し、⑤【OK】ボタンを押します。

これでDATEVALUE関数を使って、西暦で入力した日付を和暦に変換することが出来ました。
DATEVALUE関数の#VALUE!エラーを修正する方法
DATEVALUE関数では、日付文字列の引数に直接日付を入力すると#VALUE!エラーが表示されます。

試しに、DATEVALUE関数の引数に直接日付を入力してみましょう。
【任意のセル(例:B3)】を選択して、『=DATEVALUE(2021/7/6)』と入力し、Enterを押します。

#VALUE!エラーが表示されてしまいました。
このように、DATEVALUE関数では引数に直接日付を入力すると#VALUE!エラーが表示されます。
DATEVALUE関数を使って日付をシリアル値に変換したい場合は、上記「DATEVALUE関数を使ってシリアル値に変換する方法」セクションを参考にしてみてください。
VB.NET/VBAのDATEVALUE関数について
VB.NET/VBAにおけるDATEVALUE関数は、ExcelのDATEVALUE関数と同様に年、月、日の文字列から日付のデータを返します。
構文はVB.NET/VBAともに「DateValue(date)」で、dateの引数は必須です。
100年1月1日から9999年12月31日までを対象とし、それ以外の日付や時刻が含まれている場合はエラーが表示されます。