Introduction
Ver. all 2013 2016 2019 365
年月日などが別々の数値に入力されいた場合、それらを合体して日付にしたい場合があります。
そんな時に便利なのがDATEVALUE関数。文字列を日付に変換する関数です。
DATEVALUE関数・・・文字列をシリアル値(日付)に変換する。
=DATEVALUE(日付文字列)
- 日付文字列・・・(例)DATEVALUE(“2020/01/01”)
引数の指定に工夫が必要だにゃ
DATEVALUE関数の使い方
DATEVALUE関数を理解するには、Excelは常に日付をシリアル値として考えていることを理解しておく必要があります。
Excelは「1900年1月1日」を「1」として日数を考えているということ。
「ん?意味が分からない」という方は、日付を扱う際には必ず必要な知識になるので、下のリンク先をご覧ください。
では、DATEVALUE関数の説明です。
DATEVALUE関数・・・文字列をシリアル値(日付)に変換する。
=DATEVALUE(日付文字列)
- 日付文字列・・・(例)DATEVALUE(“2020/01/01”)
引数の文字列には日付形式を使用する
DATEVALUE関数の引数には、シリアル値に変換したい文字列を指定するだけです。
しかし、その文字列は日付形式で指定する必要があります。
年月日の間に「/」か「-」を入れ指定します。
例)「2020/01/01」、「2020-01-01」
※月日は0を入れて2桁で揃える必要はありません。〇年〇月〇日も可能です。
引数の文字列は「””」で囲む
※セル参照を使用する場合は必要ない
引数の文字列はダブルクォーテーション「”」で囲む必要があります。
つまり、2020年1月1日をDATEVALUE関数を使用して表示する場合は、下のような式になります。
=DATEVALUE(“2020/01/01”)
実際にこの式を入力した結果が下の画面。
確定すると、シリアル値が表示されます。
表示形式を日付形式に変更すると、
ちゃんと2020/01/01になっているのが分かります。
セルの数値を日付に変更する
このDATEVALUE関数を使用する機会としては、セルに入力されている文字を日付に変更したい場合が多いのではないでしょうか。
そこで、下の年月日に入力された数値を日付に変更してみます。
日付を表示したいセルを選択して、[関数の挿入]ボタンをクリック。
一覧から「DATEVALUE」を選んで[OK]。
後は日付に変換したいセルを指定するだけです。
ここで、必要な知識があります。
- セルを結合するには「&」演算子を使用する
- 式の中で文字を使用する場合はその文字を「”」で囲む
順を追って説明すると、
まず、セル参照を使用するので引数全体を「”」で囲む必要はありません。
そして、「B3」「C3」「D3」3セルを結合するために「&」演算子で結びます。
つまり、
B3&C3&D3
という式になります。
しかし引数は日付形式で指定する必要があります。それを考えると、それぞれのセルの間に「/」を入れなければなりません。
つまり、間にさらに「&」演算子で「/」を結びつけます。
これを式にすると下のようになります。
B3&/&C3&/&D3
赤字の部分が追加した箇所です。
これで終わりと言いたいのですが、式の中で文字を使用する場合は「”」で囲む必要があります。今回の場合は「/」がそれに当たります。
ということで完成する式は
B3&“/“&C3&“/“&D3
この式をDATEVALUE関数の引数に指定します。
[OK]をクリックすると日付のシリアル値が表示されます。
[ホーム]タブ → [数値の書式]の「▼」をクリックして、
一覧から「短い日付形式」を選んでみました。
ちゃんと日付になっていますね。
※列幅が狭いと「#」が表示されます。列幅を広げてあげましょう。
これで、Excelでの通常の日付として扱えるようになります。他の関数などでも使用できますね。
まとめ
DATEVALUEそのものは単純な関数なのですが、実際に扱う際には一工夫必要です。
状況に応じてExcelの知識を活用する必要があるかもしれません。
今回のポイントとしては、引数の指定方法です。
- 日付形式として指定する
- セルと「/」を結合するには「&」演算子を使用する
- 「/」を「”」で囲む
この3点を抑えておくのが大切です。
「&」や「”」はよく使うにゃ