- 公開日:
エクセルで数字(シリアル値)を日付に変換する方法
エクセルでは、日付を連番の数字で表す「シリアル値」という値が設定されています。
シリアル値は「45032」や「35349」などの数字であるため、何月何日を表すのかを確認するためには数値を日付に変換する必要があります。
この記事では、エクセルで数字(シリアル値)を日付に変換する方法をご紹介します。
エクセルで数字(シリアル値)を日付に変換する方法
エクセルで数字(シリアル値)を日付に変換する方法をご紹介します。
シリアル値とは、エクセルにおいて日付を連番で数字にしたものになります。今回は上記の画像のようにA2セルに入力されたシリアル値を日付に変換します。
①シリアル値が入力されたセル(例:A2セル)、②ホームタブ、③数値の書式の▼の順に選択します。④短い日付形式を選択します。ショートカットキーのCtrl+Shift+3を押しても同様の操作が可能です。
すると数値(シリアル値)が日付に変更され、「2023/9/12」と表示されました。「2023年9月12日」など「◯年◯月◯日」の形式にしたい場合は、表示形式で「長い日付形式」を選択しましょう。
VBAで数字(シリアル値)を日付に変換する方法
VBAを使って数字(シリアル値)を日付に変換する方法をご紹介します。
VBAを設定しておくことで大量のデータがあっても手軽にシリアル値を日付に変更することができます。
今回はVBAを使って設定を行います。
VBAの設定には「開発タブ」が必要ですが、デフォルトでは表示されていないため下記の記事を参考に設定を行いましょう。
今回は上の画像のようにA2セルとB2セルのシリアル値を日付に変換します。
複数のセルを範囲選択してシリアル値を日付に変更できるコードを設定します。
①開発タブ、②Visual Basicの順に選択します。
①挿入、②標準モジュールの順に選択します。
標準モジュールが挿入されました。
①以下のコードをコピーアンドペーストで貼り付けて、②上書き保存ボタンを押します。
Sub シリアル値を日付に変換するVBA()
Dim Cell As Range
For Each Cell In Selection
If IsNumeric(Cell.Value) Then
Cell.Value = CDate(Cell.Value)
Cell.NumberFormat = "yyyy/mm/dd"
End If
Next Cell
End Sub
「Cell.NumberFormat = "yyyy/mm/dd"
」の"yyyy/mm/dd"
は、日付を「どう表示するか」を指定していてアレンジが可能です。
以下の表は日付形式の設定方法と、どのような形式で日付が表示されるかの一例をまとめたものです。
表を参考に「Cell.NumberFormat = "yyyy/mm/dd"
」のダブルクォーテーションの中を変更しましょう。
表示形式 | 実際の表示 |
---|---|
"yyyy/mm/dd" | 2023/9/12 |
"m/d/yyyy" | 12/9/2023 |
"yyyy年m月d日" | 2023年9月12日 |
「名前を付けて保存」ダイアログボックスが表示されます。
①任意の保存場所(例:デスクトップ)を選択し、②任意のファイル名を入力します。
③ファイルの種類で「Excel マクロ有効ブック」を選択して、④保存ボタンを押します。
以上でVBAの設定は完了しました。Excelに戻ります。
①シリアル値が入力されたセル(例:A2セルからB2セル)、②開発タブの順に選択します。
③マクロを選択します。
マクロダイアログボックスが表示されます。
①登録したマクロ(例:シリアル値を日付に変更するVBA)を選択し、②実行ボタンを押します。
VBAでシリアル値を日付に変換することができました。