• ベストアンサー

エクセルの日付について

A1に年度、A2に月、B2に日を入れた表があり、A3、B3以降もそれぞれ違う月、日が入っています。この表から、C2に日付データに直したものを入れたいのですが、年度で考えているため1・2・3月がどうしても翌年に変換されません。    A     B      C 1   21 2   4    2    2009/4/2 3  1    20     2010/1/20 どのような関数をいれればよいでしょうか。 教えてください。

質問者が選んだベストアンサー

  • ベストアンサー
  • tom04
  • ベストアンサー率49% (2537/5117)
回答No.6

こんばんは! 横からお邪魔します。 すでに回答は出ていますので、 補足に >+88でも同じ結果がでましたが、+1988をするとなぜ西暦になおるのでしょうか? とあることだけに関する投稿です。 DATE関数ではシリアル値が必要で、「年」「月」「日」を明記しなければなりません。 すなわち、1988をプラスするということは 21+1988=2009 となり今年の西暦になりますよね? (昭和64年=平成元年=西暦1989年)となりますので、1988年は平成0年という考え方になります。 そういう意味で1988を元号の数値にプラスすると平成の西暦表示ができるという意味です。 次に、+88でも同じ結果になる意味ですが、 DETE関数の関数ダイアログボックスの「年」の欄を空白にして、月と日だけを入力してみてください。 1900年の日付になります。 (Excelは1900年の1月1日をシリアル値の「1」としているのはご存知だと思います) すなわち 空白=0 ですので、空白の代わりに 88 と入力すると 1900+88 と同じ意味になりますので、No.2さんの数式に 88を入力すると 21+88=109 を入力したのと同じことです。 すなわち、1900+109=2009 となり今年の西暦になります。 この程度でお分かりいただけたでしょうか? 以上、長々と書きましたが、 お役に立てれば幸いです。m(__)m

noa8998
質問者

お礼

お礼遅くなりまして申し訳ありません。 とても詳しく説明していただきありがとうございます。

その他の回答 (5)

noname#101303
noname#101303
回答No.5

#2です。 「+1988をする理由も教えていただけませんか?」 入力された数字が「21」なので、西暦に直すために1988を加えています。 #3、#4さんのように平成を表す"H"を付け加えるなら要りません。

noa8998
質問者

お礼

補足にまで答えていただきありがとうございます。

noa8998
質問者

補足

+88でも同じ結果がでましたが、+1988をするとなぜ西暦になおるのでしょうか?

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

C2セルには次の式を入力して下方にオートフィルドラッグしてもよいでしょう。 =("H"&IF(A2<4,A$1+1,A$1)&"."&A2&"."&B2)*1

noa8998
質問者

お礼

お礼が遅くなり申し訳ありません。 参考になりました。ありがとうざいます。

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

一例です。 =IF(COUNT(A2:B2)>1,DATEVALUE("h"&($A2<4)*1+$A$1&"/"&A2&"/"&B2),"")

noa8998
質問者

お礼

お礼が遅くなり申し訳ありません。 参考になりました。ありがとうざいます。

noname#101303
noname#101303
回答No.2

#1さんの回答を具体的に表すと、 =DATE(A$1+1988+(A3<=3),A3,B3) の様な感じになります。

noa8998
質問者

補足

丁寧にありがとうございます。+1988をする理由も教えていただけませんか?

  • chiwa-CF
  • ベストアンサー率51% (36/70)
回答No.1

A2に3以下の数字が入力された場合、 A1+1した値で年を処理するよう式を書き換えてはいかがでしょうか?

noa8998
質問者

お礼

お礼が遅くなり申し訳ありません。 参考になりました。ありがとうざいます。