• ベストアンサー

エクセル 期間の表示形式の仕方

1年5ヶ月といった年月の期間をエクセルで表示するためにはどのようにすればよろしいのでしょうか。 たとえば、1年1ヶ月と1年10ヶ月を数値として、打ち込むと、共に1.1になってしまいます。 ご教授のほどよろしくお願い致します。

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

  • ベストアンサー
  • arukamun
  • ベストアンサー率35% (842/2394)
回答No.1

こんにちは 1年1ヶ月は13ヶ月 1年10ヶ月は22ヶ月 ですね。 あるセルに 13と入れると、別のセルに1年1ヶ月 と表示される事は出来ますよ。 数値が入力されるセルをA1として、 =IF(MOD(A1,12)=0,INT(A1/12)&"年",IF(A1<12,A1&"ヶ月",INT(A1/12)&"年"&MOD(A1,12)&"ヶ月")) をA1セル以外に入れて見てください。 A1に17と入れれば、1年5ヶ月 A1に13と入れれば、1年1ヶ月 A1に22と入れれば、1年10ヶ月 になります。 また、出力される数値も2バイト文字にしたいのであれば、 =JIS(IF(MOD(A1,12)=0,INT(A1/12)&"年",IF(A1<12,A1&"ヶ月",INT(A1/12)&"年"&MOD(A1,12)&"ヶ月"))) でいかがでしょうか?

unique
質問者

お礼

ありがとうございます。 ばっちりです。

その他の回答 (3)

  • imogasi
  • ベストアンサー率27% (4737/17069)
回答No.4

A列A1に書式-セル-ユーザー定義をクリックし 0"年"00"月"と入れます。(年月の文字以外は半角) A2以下にA1セルの書式を複写します。 110 --> 1年10月 1223 --> 12年23月 212 --> 2年12月 101 --> 1年01月 12 --> 0年12月 132 --> 1年32月 などとなります。 左のように数字を入れると、右のように表示されると言うことです。12ヶ月を越えるとかのチェックは入っていません。 これを数値らしく扱うには、別列に =INT(A1/100) =MOD(A1,100) などで演算できるように考えないといけません。

unique
質問者

お礼

グラフなどにして期間を表現することがないのであれば、この方法が一番効率的ですね。 ありがとうございます。

noname#148473
noname#148473
回答No.3

ご質問の内容だけでは、どういった状況で期間の表示が必要なのかよく分からないのですが、2つの日付の間の期間を年月で表す場合には、DATEDIF関数を使うと便利です。 たとえばA1に開始日として「2002/5/3」を、A2に終了日として「2003/8/25」を入力してある場合、 =DATEDIF(A1,A2,"Y")&"年"&MOD(DATEDIF(A1,A2,"M"),12)&"ヶ月" とすれば、「1年3ヶ月」と表示されます。 データとして保存しておいたり、他の箇所から参照する場合は月数として扱ったほうが容易ですので、その場合は、 =DATEDIF(A1,A2,"M") とすれば「15」と表示されます。 (月数を年月形式で表示する方法は#1の方の回答が参考になると思います) なお、必ず A1<A2 になるようにしてください。A2のほうが早い日付の場合、エラーになります。

unique
質問者

お礼

ありがとうございます。ただ、DATEDIFは知ってました。

  • arukamun
  • ベストアンサー率35% (842/2394)
回答No.2

すみません、No.1のarukamunです。 表示形式のユーザー定義でされているのでしょうか? であれば、その定義の方法を補足してください。

関連するQ&A

専門家に質問してみよう