• ベストアンサー

指定日から今日までの年月日の求め方

以前の質問で同じものがあったら、すみません。 入社年月日が1980/7/7で、今日までの年月日を求めたいと思っています。 それぞれ、例 年 だけだったら、 =DATEDIF(1980/7/7,TODAY(),"Y") と求めればよいのかと思うのですが、何年何ヶ月何日とだそうとすると、どのような式を作ったら良いのか分かりません。教えてください。

  • awane
  • お礼率48% (36/74)

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

  • ベストアンサー
  • oresama
  • ベストアンサー率25% (45/179)
回答No.2

=DATEDIF(DATEVALUE("1980/7/7"),TODAY(),"Y")&"年"&DATEDIF(DATEVALUE("1980/7/7"),TODAY(),"ym")&"ヶ月"&DATEDIF(DATEVALUE("1980/7/7"),TODAY(),"md")&"日" で如何でしょう? DATEVALUE("1980/7/7")の部分は、 入社年月日を入れるセルを設定し、 そこを参照するようにすれば、 汎用性がでます。  もっといい方法ありませんかね。

awane
質問者

お礼

ありがとうございました。実際に試してみて○年○ヶ月○日といれることができました。 式が少し長くなってしまうので、おっしゃるとおりに入社年月日を入れるセルを設定いたしました。少し短くなりました。

その他の回答 (2)

回答No.3

>今日までの年月日を求めたいと思っています。 期間の年月日って? 例えば、2000/2/29から2001/2/28の日数は365日ですが、awaneさんがもとめているであろうoresamaさんの式を使えば0年11ヶ月30日と表示されます。月は28~31日間と幅があり、比較するにはふさわしくないと思いますが。それでよいのですか? 単純に日数だけのほうが比較しやすいので、うちの社員名簿では入社よりの日数÷365日(小数点第2位まで)で表示していますが・・・。

awane
質問者

お礼

確かにおっしゃるとおりです。 今回は、○年○ヶ月○日とあらわしたかったので、DATEDIFの組み合わせを尋ねてしまいました。 tableさんの意見も参考にいたします。ありがとうございます。

回答No.1

DATEDIF(1980/7/7,TODAY(),"Y") 満年数 DATEDIF(1980/7/7,TODAY(),"YM") 月数(年と日は考慮されない) DATEDIF(1980/7/7,TODAY(),"YD") 日数(年と月は考慮されない) 以上の3式で 上から順に 年 何ヶ月 日 の結果が出ます。 たぶん(笑)

awane
質問者

お礼

なるほど、満年数や満月数をつかわないとでてくるんですね。よく分かりました。

関連するQ&A

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

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

  • 経過年月日 の 関数について

    こんばんは。 お世話になります。 以下の関数で、○年○ケ月○日と言うように、 経過年月日を作りました。 =DATEDIF(A1,B1,"Y")&"年"&DATEDIF(A1,B1,"YM")&"ケ月"&DATEDIF(A1,B1,"MD")&"日" このままエクセルの方に入力しますと、 『0年0ヶ月0日』と言う表記で出てきます。 『0年0ヶ月0日』と言う表記が、出ないような関数に手直ししたいのですが…。 可能でしたら、B1の部分を、 TODAY関数にしたいところでもあります。 長ったらしい関数になってしまうかもしれませんが、 教えていただけたら幸いであります。 よろしくお願い致しますm(__)m

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

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

  • DATEIF関数で空白で表示する方法について

    エクセルで業務の経験年月を表示させたいと思っています。 下記の関数を用いて「開始年月日」と「終了年月日もしくは今日」で 「〇年〇ヶ月」と表示させることまでは成功したのですが 「開始年月日」と「終了年月日もしくは今日」のセルが未入力の(業務経験がない)場合、 経験年月のセルに「122年2ヶ月」と表示されてしまいます。 業務経験がないセルは空白で表示したいのですが、 空白に表示する方法について教えていただけるとありがたいです。 よろしくお願いします。 =DATEDIF(開始年月日,IF(終了年月日="",TODAY(),終了年月日),"Y")&"年" &DATEDIF(開始年月日,IF(終了年月日="",TODAY(),終了年月日),"YM")&"ヶ月"

  • エクセル生年月日から満年齢を出したい

    一難去ってまた一難… E2セルに今日の日付、C4セルに生年月日で、 =DATEDIF(C4,$E$2,"Y") の式で今日現在の年齢を出すことはできたのですが、今日現在の年齢ではなく満年齢を出す方法はあるでしょうか? よろしくお願いします。

  • エクセルで勤続年数(切り上げ)を出したいのです。

    皆さんの以前の質問内容を検索してみても、どうしても分からないので、おたずねさせて下さい。 勤続年数を算出するにあたり、A1セルに入社年月日、B1に現在年月日を入力するとして、○年×ヶ月というものを =CONCATENATE(DATEDIF(A1,B+1,"y"),"年",DATEDIF(A1,B1+1,"ym"),"ヶ月") このような式で表しました。 例えば、 A1セルに1988/4/1 B1セルに2004/3/16と入力すると、結果、15年11ヶ月と計算されますが、これを16年と切り上げ、B1セルが2004/2/16の場合は15年11ヶ月と切り上げたいのです。 IF関数をくっつけないといけないのかと思いながらも、組み立てが分かりません。 どなたか、ご教示下さいますようよろしくお願い致します。

  • エクセルの関数についての質問です。

    DATEDIF関数を使って生年月日から年齢を求める式を作り、それにIF関数を組み合わせたいと思って試したのですが、うまくいきませんでした。何か良い方法があったら教えて下さい。 A1に生年月日を入力し、B1に、 =DATEDIF(A1,TODAY(),"Y") で年齢を求め、オートフィルで複写すると、A列に生年月日を入力していない場合、B列にある数値が 出てしまうので、A列が空白の時は、B列も空白にしたいのです。そこで =IF(A1="",B1="",DATEDIF(A1,TODAY(),"Y")) としてみたところ 循環参照 している。と言うエラーメッセージがでてしまいます。 よろしくお願いします。

  • エクセルで年齢式がコピーできない

    エクセルで名簿を作っています。 最初の一人の生年月日と今日の日付から満年齢を出せたまではいいのですが、全員分の満年齢を出そうとして式をドラッグしてコピーしようとしたところ、#VALUE!と#NUM!が交互に出て、年齢が表示されません。 E2セルに今日の日付(=TODAY())、C4に最初の人の生年月日を入力しています。 最初の人の年齢は=DATEDIF(C4,E2,"Y")の式で正常に表示されているのですが、この式をドラッグでコピーすると、以下、#VALUE!と#NUM!が交互に表示されます。コピーされた式をひとつずつ調べると、 =DATEDIF(C4,E2,"Y") ←正常に表示 =DATEDIF(C5,E3,"Y") ←#VALUE!と表示 =DATEDIF(C6,E4,"Y") ←#NUM!と表示 =DATEDIF(C7,E5,"Y") ←#VALUE!と表示 =DATEDIF(C8,E6,"Y") ←#NUM!と表示 … といった感じで続いていて、要は今日の日付を入力しているE2セルを正しく参照していないようです。これを、 =DATEDIF(C4,E2,"Y")  =DATEDIF(C5,E2,"Y")  =DATEDIF(C6,E2,"Y")  =DATEDIF(C7,E2,"Y")  =DATEDIF(C8,E2,"Y")  のように、常にE2を参照させる方法があるはずだと思うのですが、どうすればいいでしょうか? よろしくお願いします。

  • 社員名簿を作っています。在籍年数を出したいのですが…わかりません。

    従業員データの一覧表をエクセルで作っています。 関数は初心者なのですが、これまでの質問を参考にして、生年月日から年齢を抽出することはなんとかできました( ..)φメモメモ 同じ方法で在籍年数を抽出しようとしてわからなくなってしまいました。 在籍者と退職者の混在するリストで、退職者には退職日の入力があり、在籍者は空欄にしています。 在籍者は「入社日からリストを開いた日までの在籍年月数」を、退職者には「入社日から退職日までの在籍年月数」を、どちらも同じ列に表示させたいのです。 年齢の算出には C列に生年月日を入力して =DATEDIF(C2,TODAY(),"Y")&"年"&DATEDIF(C2,TODAY(),"YM")&"ヶ月"  を使いました。 A列:名前、B列:入社日 C列:空欄か退社日 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ヶ月 と表示されてまして・・・ 改善式を教えて頂きたいです。 宜しくお願いします。

専門家に質問してみよう