Excelで8桁の日付を「YYYY/MM/DD」形式に変換する方法

Excelでデータを扱う際、8桁の日付(例:20240101)を「YYYY/MM/DD」(例:2024/01/01)形式に変換することがよく求められます。このガイドでは、これを実現するためのさまざまな方法と具体的な例を示します。

方法1:TEXT関数を使用する

TEXT関数を使用して8桁の日付を「YYYY/MM/DD」形式に変換できます。この方法は特にシンプルで使いやすいです。

:

  1. セル A1 に8桁の日付があるとします(例:20240101)。
  2. セル B1 に以下の数式を入力します

=TEXT(DATE(LEFT(A1,4), MID(A1,5,2), RIGHT(A1,2)), "yyyy/mm/dd")

この数式の説明:

  • LEFT(A1,4): 左から4文字(年)を取得。
  • MID(A1,5,2): 5文字目から2文字(月)を取得。
  • RIGHT(A1,2): 右から2文字(日)を取得。
  • DATE 関数: 取得した年、月、日を日付として組み立てる。
  • TEXT 関数: 組み立てた日付を「yyyy/mm/dd」形式のテキストとして表示。

方法2:セルの書式設定を使用する

データが正しく入力されている場合、セルの書式設定を変更して日付形式を適用することができます。ただし、元のデータが数字として認識されている必要があります。

:

  1. 8桁の日付(例:20240101)がセル A1 に入力されていることを確認します。
  2. セル A1 を選択し、右クリックして「セルの書式設定」を選択します。
  3. 「表示形式」タブで「ユーザー定義」を選択し、種類を「0000/00/00」に設定します。

これにより、セル内のデータは視覚的に「YYYY/MM/DD」形式で表示されます。

方法3:関数とフィルハンドルを使用する

ExcelのDATELEFTMIDRIGHT関数を組み合わせて一度に多くの日付を変換することができます。

:

1. セル A1:A5 に8桁の日付が入力されているとします。

2. セル B1 に以下の数式を入力します。

=TEXT(DATE(LEFT(A1,4), MID(A1,5,2), RIGHT(A1,2)), "yyyy/mm/dd")

3. セル B1 の右下隅にカーソルを合わせて、下方向にドラッグします。これにより、セル A1:A5 の日付が自動的に変換されます。

方法4:VBAを使用する

マクロやVBAを使用して、より高度な変換を自動化することもできます。

:

1. Alt + F11 を押して、VBAエディターを開きます。

2.「挿入」→「モジュール」を選択し、以下のコードを入力します。

Sub ConvertDateFormat()
Dim c As Range
For Each c In Selection
If IsNumeric(c.Value) And Len(c.Value) = 8 Then
c.Value = Format(DateSerial(Left(c.Value, 4), Mid(c.Value, 5, 2), Right(c.Value, 2)), "yyyy/mm/dd")
End If
Next c
End Sub

3. VBAエディターを閉じ、変換したいセル範囲を選択します。

4. Alt + F8 を押して、ConvertDateFormat マクロを実行します。

Rate article