Excel

【Excel】エクセルで日付時刻から日付(年月日)だけ抽出、表示する方法【関数、書式設定、マクロ】

当サイトでは記事内に広告を含みます
技術ブログ特化メルマガはこちら

この記事では、エクセルで日付時刻から日付(年月日)だけを抽出・表示する方法について解説していきます。

ポイントは、以下の3点です。

・関数を使う方法

・書式設定を使う方法(表示のみ変更)

・マクロを使う方法

エクセル操作は1つ1つ追っていけば必ずうまくできるため、ぜひ本記事を参考にスキルアップにつなげてくださいませ♪

関数で日付時刻から日付を抽出する方法

それでは以下のサンプルを用いて関数での日付時刻から日付を抽出する方法を確認していきます。

例えば、以下のようなデータがあるとします。

これから日付だけを抽出するには、B2セルに以下の数式を入力します。

=DATE(YEAR(A2),MONTH(A2),DAY(A2))

ここでは、DATE関数にYEAR関数、MONTH関数、DAY関数で抽出した年、月、日を渡すことで日付を取り出しています。

YEAR関数は年、MONTH関数は月、DAY関数は日をそれぞれ返します。

そしてDATE関数でそれらを日付として再構成しているのです。

ENTERで処理を確定させます。

その後、B2セルの右下にカーソルを合わせてダブルクリックすると、数式がB列全体にオートフィルされます。

書式設定で日付時刻から日付を抽出する方法

続いては書式設定を使った日付時刻から日付を抽出する方法を確認していきます。

例えば、2023/4/1 10:30のようなデータをA2セルに入力します。

次に、B2セルを選択し、ホームタブの書式設定から「日付」を選択します。

すると、B2セルには2023/4/1と日付だけが表示されます。

ただし、これはあくまで表示上の変更であり、セルの値は元の日時のままであることに注意が必要です。

計算等で使用する際は関数などを使って日付を抽出する必要があります。

1つずつ丁寧に理解することがポイントです♪

マクロで日付時刻から日付を抽出する

最後にマクロを使った日付時刻から日付を抽出する方法を見ていきましょう。



Sub ExtractDate()
    Dim rng As Range
    Dim cell As Range
    
    Set rng = Selection
    
    For Each cell In rng
        cell.Value = DateValue(cell.Value)
    Next cell
End Sub

このマクロは選択したセルの日付時刻データから全て日付だけを抽出します。

DateValue関数は日付時刻から日付部分だけを取り出す関数です。

これをループ内で選択範囲の各セルに適用することで、一括で日付だけを抽出しています。

実行するには、開発タブからVisual Basic Editorを開き、モジュールに上記コードを貼り付けて実行します。

まとめ エクセルで日付時刻から日付を抽出・表示する方法

以上、エクセルで日付時刻から日付を抽出・表示する3つの方法を紹介しました。

関数を使えば値として日付を抽出でき、書式設定では表示を日付に変更できます(値は変わりません)。

そして、大量のデータならマクロを使うのも有効です。

用途に応じて使い分けると良いでしょう。