エクセルのDATEVALUE関数について紹介していきます。

DATEVALUE関数とは何か?

DATEVALUE関数はそもそも英語の「Date(意味:日付)」と「Value(意味:価値)」の組み合わせに由来しています。

エクセルでは「=DATEVALUE (文字列)」という形で使います。指定した文字列が日付のシリアル値に変換してくれます。

DATEVALUE関数の書式=DATEVALUE (文字列)
対応Version365、2019、2016、2013、2010

DATEVALUE関数の「文字列」について

「文字列」には、日付を表す文字列を指定します。日付を表す文字列には、「2020/11/24」や「2020年11月24日」、「24/Nov/2020」のような様々な形式を指定することができます。対象となる文字列が日付に関するものではないと判定された場合には「#VALUE!」エラーが表示されます。

<変換の例>
「2020/11/24」→(DATEVALUE関数で変換)→「44159(2020/11/24を表すシリアル値)」

DATEVALUE関数の具体的な使い方

①DATEVALUE関数を使える状況を準備します。

②DATEVALUE関数を使いたいセルに「=DATEVALUE (」と入力します。

③「文字列」を指定します。

ここでは「B3」セルを参照する形で「文字列」を指定しています。

④「Enter」を押し、表示された結果を確かめます。

⑤他のセルにもDATEVALUE関数を反映させます。

コピペやオートフィルを利用して、他のセルにDATEVALUE関数を反映させましょう。

指定している文字列はすべて同じ日付を表しているので、当然DATEVALUE関数の結果も同じとなりました。

DATEVALUE関数の注意点

DATEVALUE関数を扱う上で4つの注意点があるので説明していきます。

①指定できるのは文字列のみ

エクセルのセル表示では同じ「2020/11/24」に見えるのですが、結果は「44159」と「#VALUE!」と異なっています。この違いが発生する原因は「2020/11/24」の表示形式が「文字列」なのか「日付」なのかです。

DATEVALUE関数では引数に「文字列」を指定しないといけないので、表示形式が「文字列」以外(日付やユーザー定義)の場合、エラーとなってしまうケースもあります。

②年を省略した場合は現在の年を補完

「11/24」や「11月24日」のように年を省略して文字列を指定した場合には、自動で現在の年が補完されます。この記事を作成した現在の年は「2020」年なので、「11/24」にDATEVALUE関数を使った結果は「2020/11/24」の結果と同じということになります。

③日を省略した場合は「1日」を補完

「2020/11」や「2020年11月」のように日付を省略した場合には、自動で「1」日(月のはじめ)という扱いになります。そのため、「2020/11にDATEVALUE関数を使った結果は「2020/11/1」の結果と同じということになります。

④時刻を含む場合は無視される(0時扱い)

「2020/11/24 13:00:00」のように時間を指定しても、DATEVALUE関数の結果は「2020/11/24」の結果と同じです。DATEVALUE関数はあくまでも日付に関するものなので、時刻の部分は無視されます。

姉妹関数

DATEVALUE関数は文字列→日付(シリアル値)の変換でしたが、似たような機能、文字列→「??」の変換(または「??」→文字列の変換)機能をもつ関数はいくつかあるので、下記に取り上げておきます。

文字列から数値に変換するのはVALUE関数

VALUE関数は文字列を数値に変換する関数です。VALUE関数について詳しく知りたい方はこちらを参照してください。

文字列→時間に変換するのはTIMEVALUE 関数

TIMEVALUE関数は文字列を時間に変換する関数です。VALUE関数について詳しく知りたい方はこちらを参照してください。

数値→文字列に変換するのはTEXT 関数

TEXT 関数は数値を指定した表示形式の文字列に変換する関数です。表示形式のルールを覚えれば、数値を様々な表示形式の文字列に変換できるようになるので、他の関数との組み合わせでエクセル作業の幅が広がります。TEXT 関数について詳しく知りたい方はこちらを参照してください。