技術(非IT系)

datevalue関数の使い方は?文字列を日付に変換する方法!(Excel:データ型変換:数式:エラー対処:書式設定など)

当サイトでは記事内に広告を含みます

Excelで外部システムから取り込んだデータを扱うとき、日付が「文字列」として入っていて計算できないという場面はよくあります。

そのときに役立つのがDATEVALUE関数です。

本記事では、DATEVALUE関数の仕組み・使い方・書式設定との組み合わせ・エラーの対処法まで詳しく解説していきます。

DATEVALUE関数とは「日付を表す文字列をExcelの日付シリアル値に変換する関数」である

それではまず、DATEVALUE関数の基本的な役割と構文を解説していきます。

DATEVALUE関数の構文:=DATEVALUE(日付文字列)

日付文字列:Excelが認識できる日付形式の文字列(”2024/3/15″・”2024-03-15″・”March 15, 2024″など)

戻り値:Excelの日付シリアル値(整数)。セルを日付書式に設定すると日付表示になる。

Excelでは日付を「シリアル値(1900年1月1日を1とした整数)」として内部管理しており、文字列として入っている日付は数値演算・日付関数の引数として使えません。

DATEVALUE関数は文字列をシリアル値に変換し、日付としての計算ができる状態にします。

基本的な使用例

文字列の日付をシリアル値に変換する基本例を示します。

=DATEVALUE(“2024/3/15”) → 45366(シリアル値)

→ セルの書式を「日付」に設定すると「2024/3/15」と表示

=DATEVALUE(A1) → A1に日付文字列が入っている場合

=DATEVALUE(“March 15, 2024”) → 英語表記の日付文字列も変換可能(Excelの言語設定による)

変換後のシリアル値は、DATEDIF・EDATE・EOMONTH・DATE関数の引数として使ったり、日付の大小比較・差分計算に使えます。

対応している日付文字列の形式

DATEVALUE関数が認識できる日付文字列の形式は、Excelのシステム日付設定に依存します。

日本語環境では「2024/3/15」「2024-03-15」「2024年3月15日」などが一般的に認識されます。

ただし「20240315」(区切りなしの8桁数字)はDATEVALUE関数では認識されないため、LEFT・MID・RIGHT関数とDATE関数を組み合わせる必要があります。

VALUE関数との違い

VALUE関数は数値を表す文字列を数値に変換する汎用関数であり、日付文字列にも使えますが日付専用ではありません。

日付文字列の変換にはDATEVALUE関数を使う方が意図が明確で、「=DATEVALUE(“2024/3/15”)」と「=VALUE(“2024/3/15”)」は同じ結果を返しますが、コードの可読性の観点からDATEVALUEが推奨されます。

DATEVALUE関数のエラー対処法

続いては、DATEVALUE関数でよく発生するエラーへの対処法を確認していきましょう。

#VALUE!エラーの原因と対処

DATEVALUE関数で最も多いエラーが#VALUE!エラーです。

主な原因は「Excelが認識できない形式の日付文字列を指定した場合」です。

#VALUE!エラーの対処例:

“20240315”形式(8桁連続)の場合:

=DATE(LEFT(A1,4), MID(A1,5,2), RIGHT(A1,2)) で代替

“15/3/2024″のように日・月・年の順の場合:

=DATE(RIGHT(A1,4), MID(A1,4,1), LEFT(A1,2)) で分解して変換

IFERROR関数と組み合わせてエラーを非表示にすることもできます(=IFERROR(DATEVALUE(A1), “変換不可”))。

時刻を含む文字列への対応

「2024/3/15 10:30:00」のような日時文字列の場合、DATEVALUE関数は日付部分のみを返し時刻は無視されます。

時刻を含む完全な日時値が必要な場合はTIMEVALUE関数を組み合わせます(=DATEVALUE(A1)+TIMEVALUE(A1))。

DATEVALUE関数の実践的な活用例

続いては、実務でのDATEVALUE関数の具体的な活用シーンを確認していきましょう。

状況 数式 目的
CSVからの文字列日付 =DATEVALUE(A1) 日付計算を可能にする
8桁連続数字 =DATE(LEFT(A1,4),MID(A1,5,2),RIGHT(A1,2)) “20240315”形式の変換
日付の大小比較 =DATEVALUE(A1)>DATEVALUE(B1) 期限比較
期間計算 =DATEDIF(DATEVALUE(A1),TODAY(),”D”) 文字列日付からの経過日数

データクレンジングでの活用

外部システム・CSVファイル・Webスクレイピングなどから取得したデータに文字列の日付が含まれる場合、DATEVALUE関数を使った一括変換はデータクレンジングの重要なステップです。

変換後に「日付」書式を適用することで、ピボットテーブルやグラフで正しく時系列データとして扱えるようになります。

まとめ

本記事では、DATEVALUE関数の仕組み・書式設定との関係・VALUE関数との違い・エラー対処法・実践的な活用例を解説してきました。

DATEVALUE関数は「日付文字列をExcelのシリアル値に変換する」シンプルながら重要な関数です。

データ取り込み後のクレンジング・日付計算・DATEDIF関数との組み合わせで、実務のデータ処理効率が大きく向上するでしょう。