• 締切済み

Exel2003で8桁の数字を日付に変換する方法

Exel2003で“20120123”といったような8桁数字の日付を“2012年1月23日”と置き換えたく、セルの書式をyyyy/mm/ddと設定し、8桁の数字を入力したところ、#がセルいっぱいに表示され、「負の日付または時間は####と表示されます」と出てきました。また、「セルの書式設定」にある「日付」も試してみましたが、どれもダメでした。どのような方法をとれば8桁の数字を年月日に変えることができるのか教えてください。

みんなの回答

  • mu2011
  • ベストアンサー率38% (1910/4994)
回答No.5

一例です。 =TEXT(A1,"0000!/00!/00")*1としてセルの書式設定→表示形式で日付から任意形式を選択

  • KURUMITO
  • ベストアンサー率42% (1835/4283)
回答No.4

回答No2です。 A1+1のようにした場合には2012/1/24と表示されA1セルが日付として認識されますね。 との文章を先の回答では記載していますがA1+10とすれば2012/01/33のように表示されてA1セルのデータは日付としての扱いにはなりません。表示形式の操作で2012年01月23日と表示できてもそれを直接日付の計算に使用することはできません。

  • misawajp
  • ベストアンサー率24% (918/3743)
回答No.3

その方法では無理です 質問者でも 20120123 を 20,120,123 の 数値と解釈できるでしょう Excel も同じことです Excel の日付データは 日付は 1900年1月1日からの通算日 時刻は そのデータの少数部 0時が0 24時が 1.00となる形です ですから 西暦55123年となります 表示桁数あふれです 2012 01 23 と区切り 間に / を埋め込む変換か 日付関数を使用し 年 月 日 に 分解して関数に渡すことです

  • KURUMITO
  • ベストアンサー率42% (1835/4283)
回答No.2

セルの表示形式のユーザー定義で 0000"年"00"月"00"日" とすること2012年01月23日のように表示させることはできます。しかし01月を1月にして表示させることはできません。 A1セルに20120123と入力して上記の表示形式で2012年01月23日のように表示することはできますが、このA1セルから例えばYEAR関数でYEAR(A1)と入力してもエラー表示になってしまいます。A1+1のようにした場合には2012/1/24と表示されA1セルが日付として認識されますね。 A1セルに20120123と入力して2012年1月23日と01月とならない表示にすることはできませんのでその場合にはB1セルに次のような式を入力して表示形式でそのように表示させることもできます。 =DATE(LEFT(A1,4),MID(A1,5,2),RIGHT(A1,2)) あるいは表示形式をそのままにしてなら =TEXT(DATE(LEFT(A1,4),MID(A1,5,2),RIGHT(A1,2)),"yyyy年m月d日")

hatenama-ku
質問者

お礼

分かりやすいご説明ありがとうございました。早速やってみたところおっしゃるやり方ですぐにできました。

  • yasuto07
  • ベストアンサー率12% (1344/10625)
回答No.1

実際の八桁数字と日付文字列を間違えています。 試しに、39995とかいれて、その設定にしてご覧、 その数値の日付を返します。 八桁を日付に変えるスイッチがあります。 それが機能したら、カンジデイレテモイイデス。 エクセルが持っている、日付のハチケタスウジヲ今一度ご確認ください。

関連するQ&A