Home » Excel(エクセル)の関数・数式の使い方 » 日付・時間 » yyyymmdd形式の8桁の数字を日付データに−TEXT関数

yyyymmdd形式の8桁の数字を日付データに−TEXT関数

対象:Excel97, Excel2000, Excel2002, Excel2003

業務システムによっては、日付データを「yyyymmdd」といった形式の8桁の数字として保存していることは少なくありません。

例えば「2006年3月25日」ならば、「20060325」という文字列でデータ格納しておくという方法です。

こういった形式で保存されているデータをExcelで利用する際に、これらのテキストデータを本来の日付データにしたいという要望をいただくことがあります。

[スポンサード リンク]

いくつかの変換方法がありますが、
「日付データに変換するには何という関数を使えばいいのでしょうか?」
という形でご質問いただくことが多いので関数を使った方法をご紹介します。


▼操作手順:文字列データを日付データにする
※A1セルにyyyymmdd形式の8桁の文字列としての数字が入力されているときに、B1セルに日付データを作成する例

B1セルに
「=TEXT(A1,"0000!/00!/00")*1」
という計算式を入力
 ↓
メニュー[書式]−[セル]をクリック
 ↓
[セルの書式設定]−[表示形式]タブをクリック
 ↓
[分類]欄で「日付」をクリックし、[種類]欄で適切な書式を選択
 ↓
[セルの書式設定]ダイアログ−[OK]ボタンをクリック

B1セルの「=TEXT(A1,"0000!/00!/00")*1」という数式の意味ですが、ポイントは「*1」という掛け算を行っている点でしょう。

掛け算を行わずに「=TEXT(A1,"0000!/00!/00")」とした場合、見た目には「2006/03/25」と日付データっぽく見えますが、TEXT関数は第1引数に指定された値を、第2引数の書式を設定した文字列に変換する関数なので、掛け算がない場合は単なる文字列になってしまいます。

Excelは日付を数値として扱っていますので、「*1」という掛け算を行うことで数値データにしているわけです。

ところがB1セルに書式設定が行われていないと、「*1」をしただけでは「38801」というシリアル値が表示されてしまいますから、[セルの書式設定]ダイアログで書式を設定しているのです。


「=TEXT(A1,"0000!/00!/00")」の部分は、
「=TEXT(A1,"0000""/""00""/""00")」
「=TEXT(A1,"0000-00-00")」
あるいはTEXT関数を使わずに、
「=MID(A1,1,4) & "/" & MID(A1,5,2) & "/" & MID(A1,7,2)」
などとしても同じ結果を得られます。

このサイトではTEXT関数の利用例として


などもご紹介していますので、よろしければ合わせてご覧ください。

Home » Excel(エクセル)の関数・数式の使い方 » 日付・時間 » yyyymmdd形式の8桁の数字を日付データに−TEXT関数

[スポンサード リンク]

トラックバック:3

TrackBack URL
yyyymmdd形式のテキストデータを日付データに変換−区切り位置指定ウィザード from インストラクターのネタ帳
対象:Excel 97,2000,2002,2003 yyyymmdd形式のテキストデータを、関数を使って日付データにする方法をご紹介しました。 関数を使わなくても、同様のことを行うことができます。...
テキストデータを日付データに−DATEVALUE関数 from インストラクターのネタ帳
対象:Excel 97,2000,2002,2003 yyyymmdd形式のテキストデータを日付データにする方法をご紹介しました。 A1セルにyyyymmdd形式のテキストデータが入っているのならば 「=TEXT(A1,"0000!/00!/00")*1」 という計算式を入力すると日付データにすることができるという方法で...
日付データをテキスト・文字列データに変換したい−TEXT関数 from インストラクターのネタ帳
対象:Excel97,Excel2000,Excel2002,Excel2003,Excel2007 「日付をテキストに変換したいのですが・・・?」 ...

Home » Excel(エクセル)の関数・数式の使い方 » 日付・時間 » yyyymmdd形式の8桁の数字を日付データに−TEXT関数

「日付・時間」の記事一覧

検索

このページの上部へ戻る

.