- ベストアンサー
エクセル 期間の表示形式の仕方
1年5ヶ月といった年月の期間をエクセルで表示するためにはどのようにすればよろしいのでしょうか。 たとえば、1年1ヶ月と1年10ヶ月を数値として、打ち込むと、共に1.1になってしまいます。 ご教授のほどよろしくお願い致します。
- みんなの回答 (4)
- 専門家の回答
質問者が選んだベストアンサー
こんにちは 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)&"ヶ月"))) でいかがでしょうか?
その他の回答 (3)
- imogasi
- ベストアンサー率27% (4737/17069)
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) などで演算できるように考えないといけません。
お礼
グラフなどにして期間を表現することがないのであれば、この方法が一番効率的ですね。 ありがとうございます。
ご質問の内容だけでは、どういった状況で期間の表示が必要なのかよく分からないのですが、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のほうが早い日付の場合、エラーになります。
お礼
ありがとうございます。ただ、DATEDIFは知ってました。
- arukamun
- ベストアンサー率35% (842/2394)
すみません、No.1のarukamunです。 表示形式のユーザー定義でされているのでしょうか? であれば、その定義の方法を補足してください。
お礼
ありがとうございます。 ばっちりです。