Excel DBから引っ張った日付をちゃんと日付形式にしたい

ExcelにDBから直接コピペした日付は文字列と判断され、日付書式設定が効かない。そこで関数を利用するとうまくいく事が分かった。

文字列を日付に変更する関数

=DATEVALUE(C2)

DBから直接Excelにコピペしたら、文字列として貼り付けられてしまい、書式設定が効かない。DB上ではtimestampになっていて、時間まではいっていて、それがそのままの形式で表示される。

C2に入っている値
2015-04-14 11:31:32.308

こんな感じ。

一度セルを編集状態にして確定すると、日付に変わるがデータが膨大にあると面倒。そこで何か方法がないかを探したところ、DATEVALUE関数を利用すればこの値がシリアル値に変わる事が分かった。

上記のシリアル値(=DATEVALUE(C2)した後)
42108

後は、これを書式設定で日付にしてやればOK。関数は1つ作って一気にコピーでき、書式設定も範囲選択で行うか、列指定して一気に日付にしてやればいい。