• ベストアンサー

エクセルDATEDIFで「○歳○○ヶ月」は?

エクセルで誕生日・入社経過年数表を作りたいのです。現在何歳・入社して何年などは下記の関数でよいと思うのですが, =DATEDIF(N5,TODAY(),"Y") DATEDIF(N5,TODAY(),"M") 「○歳○○ヶ月」「○年○○ヶ月」といったふうに,経過年数と月数が同時に表示することはできないのでしょうか。

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

  • ベストアンサー
  • k_eba
  • ベストアンサー率39% (813/2055)
回答No.5

再登場  あっ本当だ~(汗)日付に変換するとだめですね!では  =DATEDIF(A1,B1,"y")&"年"&DATEDIF(A1,B1,"ym")&"ヶ月"&DATEDIF(A1,B1,"md")&"日"  として下さい。   EX  関数の名前がわかっている場合は質問検索で調べると沢山表示されます。  また  エクセルの技のページも紹介します。 参考になれば幸いです

参考URL:
http://www2.odn.ne.jp/excel/waza/
55zyabbit
質問者

お礼

k_eba様 とてもうまくいき,うれしいです。この度は本当にお世話になりました。ご回答をお寄せくださった皆様のおかげで,大変勉強になりました。本当に有難うございました。

その他の回答 (4)

  • Hageoyadi
  • ベストアンサー率40% (3145/7860)
回答No.4

=DATEDIF(N5,TODAY(),"y")&"歳と"&DATEDIF(N5,TODAY(),"ym")&"ヶ月" セルの書式はいじりません。 12ヶ月は表示されず、繰り上がって0ヶ月と表示されてますね。

55zyabbit
質問者

お礼

Hageoyadi様,的確なアドバイス有難うございます。ご指摘の通り,試してみました。できることなら皆様にポイント100点差し上げたいです。ごめんなさい。私ももっと勉強します。

  • deadline
  • ベストアンサー率63% (1239/1943)
回答No.3

No.#2のdeadlineです。0ヶ月or0日の時の処理&桁揃えを加えたので、式がかなり長くなりますが、 =IF(DATEDIF(N5,TODAY(),"Y")=0," 0年",RIGHT(" "&TEXT(DATEDIF(N5,TODAY(),"Y"),"##年"),3))&IF(DATEDIF(N5,TODAY(),"YM")=0," 0ヶ月",RIGHT(" "&TEXT(DATEDIF(N5,TODAY(),"YM"),"##ヶ月"),4))&IF(DATEDIF(N5,TODAY(),"MD")=0," 0日",RIGHT(" "&TEXT(DATEDIF(N5,TODAY(),"MD"),"##日"),3)) "0ヶ月"or"0日"を表示しないようにする時には、IF関数内の"0ヶ月"or"0日"の部分を桁が揃う数のスペースに置き換えればよいかと思います。 回答を記入しながら、もっとスマートな方法はないものかと考えていますが、こんなもんでいかがでしょうか?

55zyabbit
質問者

お礼

deadlineさま。うまくいきました。今回お手数をかけ申し訳ございません。本当に勉強になりました。私も,もっと勉強します。有難うございました。

  • deadline
  • ベストアンサー率63% (1239/1943)
回答No.2

下記のように、TEXT関数で『書式指定文字列』に変換し、文字列結合演算子"&"で結合すれば、1つのセルに表示することが可能です。 =TEXT(DATEDIF(N5,TODAY(),"Y"),"##年")&TEXT(DATEDIF(N5,TODAY(),"YM"),"##ヶ月") DATEDIF関数の月数の計算方法の指定は、"M"では期間内の経過月数になりますので、"YM"で1年未満の月数("Y"によって切り捨てられた月数)を指定します。

55zyabbit
質問者

補足

 deadline様,ご教授有難うございました。いろいろ方法があるものだな,と驚いています。いいのを作って知り合いに自慢しようと思います。    さて,「0ヶ月○○日」まで表示することも可能でしょうか? ----------------------------------------------- 試してみました。 昭和38年4月6日 平成14年4月23日   39歳ヶ月 ----------------------------------------------- =TEXT(DATEDIF(N5,TODAY(),"Y"),"##年")&TEXT(DATEDIF(N5,TODAY(),"YM"),"##ヶ月")

  • k_eba
  • ベストアンサー率39% (813/2055)
回答No.1

A1:昭和41年9月3日 B1:平成14年2月19日 C1:=DATE(DATEDIF(A1,B1,"y"),DATEDIF(A1,B1,"ym"),DATEDIF(A1,B1,"md")) C1のセルの書式設定でユーザー設定で yy”年”mm”ヶ月”dd”日” でいかがでしょうか なにかあれば補足して下さい

55zyabbit
質問者

補足

k_eba様。迅速な回答有難うございました。よい,関数を教えていただき,とても助かりました。感謝しています。 さて,下記のように年齢が○○歳12ヶ月のときだけ,年齢が繰り上がらないのですが,何かよい方法はございますか? =================================================== 昭和38年4月6日 平成14年4月23日 38歳12ヶ月17日 =================================================== C1:=DATE(DATEDIF(A1,B1,"y"),DATEDIF(A1,B1,"ym"),DATEDIF(A1,B1,"md")) C1のセルの書式設定でユーザー設定で yy”年”mm”ヶ月”dd”日”

関連するQ&A

  • エクセルで経過年数の平均

    エクセルで、DATEDIF(A1,B1,"Y")&"年"&DATEDIF(A1,B1,"YM")&"ヶ月"と関数を使い、経過年数&月数を「○年○ヶ月」と計算するデータを作りました。 さらに、計算された経過年数&月数の平均を求めたいのですが上手くいきません。 どうすればいいでしょうか?よろしくお願いします。

  • 関数のDATEDIFに替わるものについて教えてください。

    関数のDATEDIFに替わるものについて教えてください。 入社年月日から今現在の勤続年数を『何年何ヶ月』と表示したいのですが、 エクセル2000にDATEDIF関数がありませんでした。 関数が苦手なので分かりやすく教えてください。 よろしくお願いします。

  • エクセル 入社年月日から、在籍「○年○ヶ月」を出したい

    例えば、A1に 入社年月日 2000年6月 と入力し、DATEDIF関数を利用すると、 =DATEDIF(A1,TODAY(),"Y")では 6年、 =DATEDIF(A1,TODAY(),"M")では 73ヶ月 と表示することができますが、 6年1ヶ月 表示する方法はありますか?

  • エクセルのDATEDIFで

    名簿でDATEDIF関数で年齢を計算しているんですけど 年齢のほかに ’雇い入れ年月日’ なるものと ’経験年数’なる項目があります 就職してずーと同じ会社に所属している人は年齢と同じ計算ですが 途中入社ではあるが経験年数が長い場合 DATEDIF関数で計算できるんでしょうか 多分簡単に計算できると思うんですけど... 教えてください

  • EXCEL DATEDIF関数について

    質問があります。 EXCELのDATEDIF関数で日付の期間内の年数、月数、日数、時間を2つのデーターから算出したいのですが、うまくできません。 そもそもDATEDIF関数では時間に対しては対応できないのでしょうか? また算出できる方法が有れば教えて頂けないでしょうか? データー基(例) A,14/04/30 00:01 B,14/05/02 05:03 宜しくお願い致します。

  • エクセル関数 DATEDIFについて

    エクセル関数が得意な方、答えが合っているか確認してください。 Q.Aさんの生年月日は1973/5/9で、2011/4/1現在の年齢を計算したい場合、 =DATEDIF(生年月日1973/5/9,2011/4/1現在,"y") ※実際には生年月日などのところに入っているのはセル番ですが・・・ 答えは37歳 Q.Aさんの入社日は1998/5/12で、2011/4/1現在の勤続月数を計算したい場合、 =DATEDIF(入社日1998/5/12,2011/4/1現在,"m") 答えは154月数 私のやり方と答え、これであっているのでしょうか? よろしくお願いします。

  • Excelで在職年月数が表示されるように設定したい

    Excelで質問です。 ある日付から年数と月数を出したいのですがうまくいきません。 例えば、セルA1に入社した日付(例えば2000年4月)があり、B1に○年○ヶ月(例えば7年1ヶ月)と在職年月数が表示されるように設定したいのですが、うまくいきません。 DATEDIF関数を使ったら年数は表示されても月数は出ません。 何か良い方法はあるのでしょうか?

  • エクセルで在籍年数を詳しく出すには

    エクセルで社員管理で在籍年数を詳しく出したいのですが、 =DATEDIF(F2,TODAY(),"Y")  で年数を出していますが、何年何ヶ月まで出すにはどうすればいいのですか?? 教えてください。

  • エクセル関数で勤続年数を求めた時の表示

    社員勤続年数を以下のように求めました。 =DATEDIF(A1,TODAY(),"D") 「yy"年"mm"ヵ月"dd"日"」の表示にする。 すると、2年経過した社員など、『1年12ヶ月』と表示されてしまいます。 これを『2年』と表示する方法はないのでしょうか? また、関数自体 =DATEDIF(A1,TODAY()+1,"D") の方が自然なんでしょうか? ご教示ください。よろしくお願いします。

  • 経験年数表示○年○ヶ月 式はどのように

    エクセルで経験年数を表示したいのです。 本日で何年何ヶ月経過を示したいです。 Windows XP エクセル2003 使用です。          雇入年月日 セル L12に   H23.2.4          経験年数 セル L13に   1年4ヶ月 としたいのです。 経験年数が半年の場合は L13 に 6ヶ月  ×0年6ヶ月 経験年数が1年の場合は  L13に  1年   ×1年0ヶ月 いまL13の式には =DATEDIF(L12,TODAY(),"Y")&"年"&DATEDIF(L12,TODAY(),"YM")&"ヶ月" と入れてあるのですが。。。 1年0ヶ月 と表示されてまして・・・ 改善式を教えて頂きたいです。 宜しくお願いします。

専門家に質問してみよう