8桁の数値から日付を作成:TEXT関数編

数値から日付 2013Excel関数技BEST 71回

8桁の数値から日付を作成する TEXT関数編

日付を日付として入力する時は、/(スラッシュ)をつける必要があります。
大量の日付データを入力する時に/をつけるのは、意外としんどいものです。
そこで8桁の数値として入力してもらい、あとから日付として表示するという方法を考えたりします。
使う関数は、TEXT関数一つだけ。TEXT 関数は、数値を指定した書式の文字列に変換します。 指定した書式というのは、セルの書式設定で利用できる書式とほぼ同じです。そこで、8桁の数値を日付の4桁/2桁/2桁の書式に変換します。
(サンプルファイルは、こちらから 2013関数技71回サンプルデータ

8桁数字から日付シリアルをTEXT関数で取得

A列に8桁の数字が入力されています。それをB列にTEXT関数を使って日付に変換します。
B2セルに次のように式を入力しました。
=TEXT(A2,"0000!/00!/00")
TEXT関数で日付シリアル値を取得する1
すると、見かけ上は日付に見えるようになります。(セルの書式は標準です。) 実際は文字列なのです。日付を他に利用する予定がないならこのままでOKです。
TEXT関数で日付シリアル値を取得する2

日付のシリアル値を取得

見かけだけの日付を他の数式で利用する場合は、このままでは使えませんから、 文字列を数値に変換するために、数式に1を乗算します。
=TEXT(A2,"0000!/00!/00")*1
すると日付のシリアル値を取得することができます。また見かけの表示も、セルの書式が標準なので、シリアル値で表示されましたね。
TEXT関数で日付シリアル値を取得する3
セルの書式設定を好みの日付に変換します。
TEXT関数で日付シリアル値を取得する4
日付のシリアルを取得できているので、ユーザー定義で和暦表示にもできます。
TEXT関数で日付シリアル値を取得する5
TEXT関数を使って8桁の数値を日付のシリアル値に変換しているので、日付の計算もできます。