Udemyで講座を受講しよう!
Excel

DATEVALUE(デイトバリュー)関数の使い方

Yujiro Sakaki

DATEVALUE(デイトバリュー)関数は、セルに文字列として出力された日付のデータをシリアル値に変換してくれる関数です。

構文 =DATEVALUE(日付文字列)
使用例

=DATEVALUE(“2021-8-21”)
文字列「2021-8-21」を、2021/8/21のシリアル値「44429」に変換します。

=DATEVALUE(“8-21”)
文字列「8-21」を、2021/8/21のシリアル値「44429」に変換します。年を省略している場合は、コンピュータの時刻より現時点の年を取得し、補完します。

=DATEVALUE(“2021-8-21 16:00:00”)
文字列「8-21」を、2021/8/21のシリアル値「44429」に変換します。時刻は無視されます。

[char no=”1″ char=”さえちゃん1”]DATEVALUE関数の用途として、データクレンジングの際に用いられます。CSVデータ等を吐き出した際、文字列として上がってくる場合があったりするんですよね。データベースにファイルを送る際、その日付データが文字列だとフィルターをかけることができなかったりするので、そういったデータを日付データに変換してから渡す、なんてシーンも遭遇します。[/char]

動画解説

関数説明

RAWデータを吐き出した際、以下のように出力されたデータを見てみましょう。

データ区間が表示されていますが、左側だけの開始日時だけほしい場合を想定してください。このままでは単純に文字列となって出力されている状態です。

まず、LEFT関数を使って左側のデータを出力します。1日は「01」と表記されているので、シンプルな使い方が可能です。LEFT関数で左から12文字分抜き出しました。

文字列操作関数で出力される関数はすべて「文字列」として扱われます。ここにDATEVALUE関数を使いましょう。

DATEVALUE関数は、[数式]タブ→関数ライブラリの[日付/時刻]の中にあります。

引数は1つだけ、LEFT関数で出力したセルを参照しましょう。

無事に「44409」のシリアル値を取得することができました。

[ホーム]タブより、セルの表示形式を[短い日付形式]に変更すると……。

無事に書式設定で日付データに置き換わりました。

オートフィルします。

 ここで満足してはいけません。

データクレンジングをして、このデータを再度別のシステムに投げる場合、いま出力されているデータは数式によるデータです。

数式を構成している参照元がなくなれば、#REF!(リファレンスエラー)となってしまい、使い物になりません。最終的にクレンジング元データは不要になりますからね。

そのため、同じセル範囲を選択し、値貼りつけをして数式を取り除いてください。

これで「2021/8/1」としての日付データをとして、外部でも扱えるようになります。

この関数については以上です。

さえちゃんのDATEVALUE関数ワンポイントアドバイス

[char no=”4″ char=”さえちゃん3”]日付だけではなく、シリアル値からは曜日にも変換ができます。ユーザー設定の書式設定で「aaa」と指定してあげると曜日が出るんだよ。まあ、最終的には値貼りしたいからカレンダー見て直接入力したほうが早いんだけどね[/char]

CTRL(Command)+「1」で[セルの書式設定]を出します。

ユーザー定義の中から種類のところにある既定の書式設定を削除し、「aaa」と入力してみましょう。

確定すると、DATEVALUE関数で出力されるシリアル値に対して、書式設定に曜日が適用され、セルには「日」に表示されました。

道具箱は多いほうがいいので、こういった変換もできることを覚えておいてください。

関数ステータス

関数ライブラリの種類

日付/時刻

数式の構文

=DATEVALUE(日付文字列)

引数ダイアログ

Microsoft 公式サポート

DATEVALUE関数 – Office サポート

Advertisement

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください

ABOUT ME
榊 裕次郎
榊 裕次郎
Excel講師
1981年10月生まれのてんびん座、東京都出身。趣味は、旅行と料理とワイン。2024年は、佐賀県に行って「呼子のイカ」を思いっきり食べたいです。

仕事では2023年も引き続き、青森・秋田・岩手でのお仕事依頼、お待ちしております!
記事URLをコピーしました