• ベストアンサー

加入期間を求めたいのですが ( OO年OOヶ月 と2桁に揃えて)

B2セルに入会日 C2セルに退会日を入力します。任意のセル(例えばD2)に加入期間を表示したいとします。 DATEDIF関数を試しましたが、一ケタの年数の場合は、一ケタで表示されてしまいます(例 1年6ヶ月) 私が入力した式は以下の通りです。 =DATEDIF(B2,C2,"Y")&"年"&DATEDIF(B2,C2,"YM")&"ヶ月" これを、(例 01年06ヶ月)と表示出来ますか? 上下のセルに大勢入力してあるので、桁がそろわないと見づらいのです。 また、DATEDIF関数の他に、いい関数や方法はあるでしょうか? 求めた期間を元に、「2ヶ月未満」「2ヶ月以上1年未満」「1年以上10年未満」「10年以上」に分類したいと思っています。 DATEDIF関数は初めてなのですが、これで求められた値はテキスト形式だそうですね。 テキスト形式でも、私が求めているような分類が出来るものでしょうか。 それとも、別の方法をしないといけないのでしょうか。 よろしく願いします。

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

  • ベストアンサー
  • NCU
  • ベストアンサー率10% (32/318)
回答No.2

A1:入会日 B1:退会日 C1:[作業セル]=DATEDIF(A1,B1,"M") D1:=TEXT(INT(C1/12)*100+MOD(C1,12),"00年00月") E1:=LOOKUP(C1,{0,"2ヶ月未満";2,"2ヶ月以上1年未満";12,"1年以上10年未満";120,"10年以上"})

pocorino
質問者

お礼

質問事項のさらにその先まで教えていただき、ありがとうございました。 上手く分類表示できました。 ありがとうございました。

その他の回答 (2)

  • merlionXX
  • ベストアンサー率48% (1930/4007)
回答No.3

> DATEDIF関数は初めてなのですが、 DATEDIF関数には重大なバグがありますのでご注意ください。 ためしに、入会日を1/31、退会日を2/28としてみてください。

pocorino
質問者

お礼

あれれ。0ヶ月ですね。1ヶ月と表示してくれればいいのに。 このサイトにも注意するよう載っていますね。 http://www.x-media.co.jp/tyoufaq/faq15.shtml ありがとうございました。

  • marbin
  • ベストアンサー率27% (636/2290)
回答No.1

ちょっと長いですが・・・。 TEXT関数を使います。 =TEXT(DATEDIF(B2,C2,"Y"),"00")&"年"&TEXT(DATEDIF(B2,C2,"YM"),"00")&"ヶ月"

pocorino
質問者

お礼

なるほど。関数って便利ですね。 ありがとうございました。 うまくいきました。

関連するQ&A

専門家に質問してみよう