• 締切済み

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

  • Excel VBA で日付を4ケタの数値に変換させるには?

    ある日付データを 『月』と『日付』のみの4ケタの"文字列"にさせて表示処理させたいのですが、困っております。 現在、VBAを使用しないで処理させると…こんな感じで困っています。 1.日付を yyyy/mm/dd 表示 2.編集~ 『/』のみを全て『0』に変換 3.RIGHT関数で4ケタ(または5ケタ)抜き取る *データ* 日付    yyyy/mm/dd  変換      RIGHT(4ケタ) 1月5日  2005/1/5     20050105   0105 1月10日  2005/1/10    200501010   0110  ・    ・  ・    ・ ▲不具合状況 1."1月10日" のように日付が2ケタになる日は "1010" のように表示がずれる。RIGHT(○,5) で対処する方法もあるが…効率があまり良くない。 2."yyyy/mm/dd" のデータを直で "RIGHT( )" で処理させると思ったとおりの値が戻ってこない。 yyyy/mm/dd      RIGHT() 2005/1/5    →   8537 …変な値が戻ってくる? VBAで一気にやる方法ありますでしょうか? お知恵を拝借ください!

  • EXCEL 日付の入力形式

    こんにちは。 日付が、dd/mm/yyyyの形式で入力されたデータをもらいました。 関数を利用したいのでEXCELに日付として認識させたいのですが、 セルの書式設定で設定してもだめなようです。 質問 1)yyyy/mm/ddの形式で入力されていないと日付として認識されないのでしょうか? 2)現在の形式のまま、日付として認識させる方法はありますか? 3)dd/mm/yyyyをyyyy/mm/ddに変換する方法はありますか? 以上、よろしくお願いします。

  • 日付や時刻の"01"を" 1"に変換したいです。

    下記のような問題で悩んでいます。何かよいアイディアがありましたら教えて下さい。 【要件】 ・SimpleDateFormatで指定された書式の文字列にした後、年月日時分秒ミリ秒の"01"~"09"を" 1"~" 9"のように前0を半角スペースに一括変換したい(年は書式がyy形式の場合のみ)。 ・SimpleDateFormatへの書式はエラーが起きない限りどんなものでも受け入れる(通常、書くわけがない書式についても)。 例) "yyyy/MM/dd HH:mm:ss:SSS" "'yyyy/MM/dd HH:mm:ss:SSS形式:'yyyy/MM/dd HH:mm:ss:SSS"  ※''の中にあるMMはテキストなので英字のまま。 "yyyy/MMMMMMMMMMMMMMMMMMMM/dd HH:mm:ss:SSS"  ※Mの数は不明 "yyyy/MM/dd MM MM HH:mm:ss:SSS"  ※月の表示指定が複数 引数 :日付(yyyyMMddHHmmssSSS形式), SimpleDateFormatへの書式 戻り値:SimpleDateFormatで変換後に"01"~"09"を" 1"~" 9"にした文字列 自分なりの検討案としては下記になります。 a.引数の書式をそのままSimpleDateFormatに引き渡ずに、一部修正してから呼び出す。 例)"yyyy/MM/dd HH:mm:ss:SSS"→yyyy/_M/_d _H:_m:_s:__S" ※"_"は半角スペースです。 実際はMやdなどが2桁になる場合は変換しません。 かなりごりごり200行ぐらい試しに書いたのですが、対応できないケースが出てきてその都度エンドレス状態です。 ちょっとこのまま実装するわけにいきません。いつバグがでるか・・・。 b.SimpleDateFormatで変換後に年月日時分秒ミリ秒に該当する箇所に"01"~"09"があったら置換する。  引数の書式からMMやddのindexを保持して、SimpleDateFormatで変換後の該当indexに置換。 例) 書式:"yyyy/MM/dd_HH:mm:ss:SSS" 日付:"20090101010101001" "2009/01/01_01:01:01:001"→"2009/_1/_1__1:_1:_1:__1" ※"_"は半角スペースです。 但し前提として、書式とSimpleDateFormatで変換後の文字列が1対1になっている必要があります。 単純な例ですと 書式:"yyyy/MMMM/dd HH:mm:ss:SSS" 書式のddは11~12桁目ですが、SimpleDateFormatで変換後は下記のようにインデックスがずれます。 "2009/1月/01 01:01:01:001" "2009/12月/01 01:01:01:001" もしかしたら下記のような感じで吸収できるのかもしれませんが、ちょっと個人的に出来そうに思えませんでした。 月が1桁 かつ 書式が"M"の場合 月が1桁 かつ 書式が"MM"の場合 月が1桁 かつ 書式が"MMM"の場合 月が1桁 かつ 書式が"MMMM"の場合 月が1桁 かつ 書式が"Mxn"の場合 月が2桁 かつ 書式が"M"の場合 月が2桁 かつ 書式が"MM"の場合 月が2桁 かつ 書式が"MMM"の場合 月が2桁 かつ 書式が"MMMM"の場合 月が2桁 かつ 書式が"Mxn"の場合 ここ1,2週間ほど煮詰まっています。どなたかアドバイス頂けると助かります。 自分的なネックは書式が限りなくフリー形式なところです。

    • ベストアンサー
    • Java
  • Excel97の日付の書式設定

    現在Excel97で日付入力をしたいのですが、 最終的に演算に使用する日付で yyyy/mm/ddとyyyy/mmどちらでも入力できる書式設定を探しています。 yyyy/mm/ddの指定にするとyyyy/mmと入力してもyyyy/mm/01となってしまいます。 yyyy/mmのセルとdd専用のセルを別に作ると、ddを入力した時に 閏年のエラーチェックなどがかけられないので演算部分(1年後該当日前日の指定等)がうまく働きません。 いい方法がありましたら教えてください。

  • エクセルで日付、時間表示

    お世話になります。エクセル2000を使っています。 セルの書式設定-ユーザー定義で以下の条件で表示させたいのですが・・・・ 日付データとして、日付のみのものと、時間も入っているデータを、 日付のみのものは日付のみの表示に、 時間も入っているものは日付と時間を表示する。 具体的には、ある一つのセルに 2003/07/26と入力した時 → "2003/07/26"と表示 2003/07/26 18:30と入力した時 →  "2003/07/26 18:30"と表示 ユーザー定義で、 yyyy/mm/dd yyyy/mm/dd hh:mm でそれぞれの表示はできますが、例えば 時間データのないものに、yyyy/mm/dd hh:mmと定義すると、"2003/07/26 00:00"と表示されて都合がよくありません。 文字データとして、前に「’」を付ければ表示のみはできますが、数値データとして使えません。 少し長くなりましたが、よろしくご教示ください。

  • Access2007の日付/時刻型フィールドで、時を二桁にする書式

    お世話になります。 Access2007の日付/時刻型フィールドで、日時を「2007/07/09 01:22:33」というふうに表示させるにはどういう書式にしたらいいんでしょうか? 「yyyy/mm/dd hh:nn:ss」と入れてみたのですが、時が一桁だと一桁になってしまいます。 ヘルプの「hh」のところには「時を 2桁の数字で表示します (00 ~ 23)。」と書いてありますが、「h」の場合と同じようになってしまいます。 時も二桁にする書式を教えてください。よろしくお願いします。

  • エクセル 日付、数字の入力方法

    エクセル2002を使用 ○日付の入力方法 2009/09/04と入力したい。0が消える。 セルの書式設定、ユーザー定義でYYYY”年”m”月”d”日”でも0が消える。’で文字化はしたくない。 ○数字の入力 数字の前に0がある 例:000012340 これも当然数字の前の0が消える。’で文字化はしたくない。 どのようにセルの書式設定をすればよろしいでしょうか?

  • エクセル上の8桁の数字を一括して日付に変換する方法を教えて下さい。

    エクセル上の8桁の数字を一括して日付に変換する方法を教えて下さい。 ダウンロードしたエクセルデータのA列に日付として8桁の数字が入っているのですが、文字列として認識してるようで日付に変換出来ません。 例えば2010年1月1日の欄には20100101と入っていて、2001/01/01と変換したいのですがどうすればいいでしょうか。 セルの書式設定→表示形式→ユーザー定義で試してみましたが上手くいきませんでした。 データの量が何千行もあって膨大なので、1行ずつスラッシュを入れていくという作業は出来ません。 8桁の数字を一括して日付に変換出来る方法はあるのでしょうか。 教えて下さい。 宜しくお願い致します。

  • エクセルでの日付書式について

    エクセルでの日付書式についての質問です。 1968/4/1を、(S43) 1968/04/01のように表示させたいのですが、「セルの書式設定」のユーザー定義で、(gee) yyyy/mm/ddとすると (S43) 43/04/01と表示されてしまいます。 (yyyy) gee/mm/ddならば(1968) S43/04/01と書式通りに表示されるのですが。 ちなみにExcel2000では出来て、Excel2003では出来ないようです。 修正パッチなどご存知の方がいらっしゃいましたら、教えていただけると幸いです。 よろしくお願い申し上げます。

  • エクセルの日付表示の書式設定

    こんにちはお世話になっております 教えていただきたいのは、エクセルの日付表示についてです。 条件としてはセルに日付を入力したときに以下のように表示したいです。 8/1と入力したとき  2006年 8月  1日 8/13と入力したとき 2006年 8月13日 10/3と入力したとき 2006年10月 3日 様はセルの中で数字が1桁でも2桁でも位置が会うようにしたいです。 配置で均等とかにしてもずれてしまうので、何か言い方法があればと思うのですが、教えてください なお、年月日になるようにするのはセルの書式設定でユーザー定義で[DBNum3]ggge"年"m"月"d"日"の設定で表示させています。 mmやddにしてしまうと08などになってしまうので、そうではなく 8と表示させたいです。 分かりにくい説明ですが、教えてください。