• ベストアンサー

年齢の表し方を教えてください。(Excel)

    年齢を○歳○ヶ月○日と表示したいので、お願いします。 (今日)-(誕生日)=(年齢) (2012.1.10)-(h11.1.4)=13.0247  D1に本日の日付  D2に(誕生日)  E2に 【=SUM($D$1-D2)/365) 】  と入力しました。 つまり、13歳と0.0247歳です。   これでは、自分でもわかりにくいので   F2に○ヵ月、G2に○日と、小数部分を分解してを表示する関数式等を教えてください。  

noname#152318
noname#152318

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

  • ベストアンサー
  • KURUMITO
  • ベストアンサー率42% (1835/4283)
回答No.2

このようなためにDATEDIF関数があります。 D1セルにはお示しのような入力ではなく2012/1/10のように入力するか、またはH24.1.10のように入力します。 お示しのような入力では日付として手はなく単なる文字列の入力となってしまいます。 E2セルには次の式を入力して下方にオートフィルドラッグコピーします。 =IF(OR($D$1="",$D2=""),"",DATEDIF($D2,$D$1,"Y")) F2セルには次の式を入力して下方にオートフィルドラッグコピーします。 =IF(OR($D$1="",$D2=""),"",DATEDIF($D2,$D$1,"YM")) G2セルには次の式を入力して下方にオートフィルドラッグコピーします。 =IF(OR($D$1="",$D2=""),"",DATEDIF($D2,$D$1,"MD"))

noname#152318
質問者

お礼

ありがとうございます。   DATEDIF関数は、関数の挿入ウインドからは見つからないのですが、   コピー&貼り付けで所期の目的を達成できました。  Excel2007でもExcel2003でも、同じでした。

その他の回答 (1)

  • wakatonsx
  • ベストアンサー率28% (234/828)
回答No.1

DATEDIF(開始日,終了日,単位) 単位 Y: 満年数を出す M: 満月数を出す D: 満日数を出す YM: 1年未満の月数を出す YD: 1年未満の日数を出す MD: 1ヶ月未満の日数を出す これで表示できます。

noname#152318
質問者

お礼

ありがとうございます。  >DATEDIF(開始日,終了日,単位)…    (^^;) この関数が見あたらないので困っています。  Excel2003です。

関連するQ&A

  • ★☆EXCEL 有効期限の警告の関数

    本日 H18.2.22 有効期限が、H18.4.1~H18.4.30の人に"期限間近"などの警告をセルに表示させる関数です。 有効期限の2ヶ月前に警告したい。3月は5月が有効期限のセルに警告など。 =IF(DATE(YEAR(D11),MONTH(D11),1)=DATE(YEAR(TODAY()),MONTH(TODAY())+2,1),"期限間近","") しかし、この式ですとH18.3.31までのセルが空欄になってしまいます。 有効期限の2ヶ月前かつ、本日日付からH18.3.31までも警告がでる式にしたいです。 おわかりの方教えてくださーい! よろしくお願いいたします。

  • EXCEL2003で、年齢を出す方法

    Excel2003を使用しています。誕生日を入力し、現在の年齢を出したいと思っているのですが、ネットで検索すると「datedif関数」を使用すればよいと書いてありますが、この関数が見当たらないのですが・・・。なくなってしまったんでしょうか?!もし、なくなったとすれば、最も簡単に年齢を出すには、どのようにすればいいでしょうか?

  • EXCEL2003で判定式について教えてください。

    仮にA1に12.9、B1に12、C1に11.4、D1に12.5とあるとして F1にはA1-B1の値を、G1にはB1-C1の値、H1にはC1-D1の値を それぞれ10倍して(小数点以下を無くし見易くする為に) 表示するものとします。 その後F1~H1の3つの値(+9、+6、-11)に対し、+5以上が 一つでもあるならなら「A」、+1~+4のみは「B」、 +の値が一つもなく0以下なら「C」と判定させたいのです。 そこで当初J1で =IF(F1:H1>=5,"A",IF(F1:H1<=0,"C","B")) としたところ複数のセルに対してはできないようなので 一旦J1でMAXを使い(+5以上か)を判定し、L1に =IF(J1>=5,"A",IF(J1<=0,"C","B")) と二つのセル、二つの式で結果的には出来たのですが、 なんとかすっきりと一つの関数式で判定させることは 出来ないでしょうか?

  • EXCEL2000で、今日の日付をクリックすると、該当の列にジャンプするようにしたいです。

     列に1から31の日付をつけ、アクティブセルをジャンプさせて、その該当列に移動させる方法がありましたら教えていただけますか? │C D E F G H I J ・・・・・AB・・AI AJ AK 列 1 4/22 本日の日付へ 2││││ 1 2 3 4 ・・・・・・22・・29 30 31 3││││││││ 行    例えば、E1に 本日の4月22日[=TODAY()]が表示されるようにしてあります。  その横に"本日の日付へ"をクリックすると、(たぶん=HYPERLINKも使用するのですよね)   AB2のセルにジャンブさせたいのですが、できれば、関数を使用して、それが無理でしたらマクロ、ビジュアルベーシックという優先順位でお願いしたいです。  m(__)m

  • 年齢をわりだす関数は・・・

    ファイルメーカーで名簿をつくっているのですが、年齢を生年月日から割り出す関数がわかりません。今日の日付から生年月日をひくと誕生日当日に年が1つくりあがりませんよね?簡単に割り出す関数とかないでしょうか?教えてください。

  • エクセルにて年齢を出したい

    エクセルにて年齢を出したいのですが 年、月、日が別々のセルに入力されている場合の 関数式を教えてください。 生まれた年 A1=S42 、 A2=5 、 A3=10 (A1は年、A2は月、A3は日) 入力時の日付 B1=H18 、 B2=9 、 B3=16 C1に年齢を出したいのですが、出来ますでしょうか? 教えてください。

  • エクセルの計算

    実は現在している作業で困っています。 =SUM(B2,E2,F2,H2) のような式が入っているセルの値があるんですが、小数点以下の内容を切り捨てにしたいのですが、どうやってやったらいいでしょうか? 素人なので分からず困っています。何かいい方法はないでしょうか? 出来れば関数とかで切り捨てたいのですが…。

  • Excel2003のエクセル関数からのグラフ作成

    Excel2003のエクセル関数からのグラフ作成についてご教授ください。 'compare (3)'!にあるデータを元に'Graph7'!に棒グラフを作成したいと思っております。 グラフの関数式は以下にしたいです。 ='compare (3)'!$C$3:$D$3,'compare (3)'!$F$3:$H$3,'compare (3)'!$C$5:$D$5,'compare (3)'!$F$5:$H$5,'compare (3)'!$C$7:$D$7,'compare (3)'!$F$7:$H$7,'compare (3)'!$C$9:$D$9,'compare (3)'!$F$9:$H$9,'compare (3)'!$C$11:$D$11 'compare (3)'!$F$11:$H$11 想定したグラフ作成はできるのですが、「元のデータ」を表示させたくても表示できません。 データ範囲をよくよく見ると、以下となっていまして、最後の「$F$11:$H$11」の入力ができません。 ='compare (3)'!$C$3:$D$3,'compare (3)'!$F$3:$H$3,'compare (3)'!$C$5:$D$5,'compare (3)'!$F$5:$H$5,'compare (3)'!$C$7:$D$7,'compare (3)'!$F$7:$H$7,'compare (3)'!$C$9:$D$9,'compare (3)'!$F$9:$H$9,'compare (3)'!$C$11:$D$11 'compare (3)'! 最後の「$F$11:$H$11」を入力してOKをクリックすると「参照が正しくありません」と表示されます。 'compare (3)'!の上記指定セルには=compare!F10など=compare!のセルを指定しております。 ただし、F11とG11のみ以下のように別ファイルのセルを指定しております。 ='[A.xls]2013Oct'!N5 或いは ='[A.xls]2013Nov'!N5 =compare!の指定セルにも以下のような関数式が入っております。 =COUNTIF('[A.xls]BP Info'!$F3:$F29,"Post") =SUMPRODUCT(('[A.xls]BP Info'!$F3:$F29="Post")*('[A.xls]BP Info'!$G3:$G29="入電 (1-3)"), '[A.xls]BP Info'!$H3:$H29) 関数式が影響している可能性があると思い、手動で数字を入力してみましたが同様です。 動きを見る限り'compare (3)'!$C$11:$D$11 'compare (3)'!$F$11:$H$11の行を指定するとおかしくなるようです。 念のためグラフ範囲のセルを別セルにコピーし関数式を消して手動ですべて数字をいれてみましたが、NGでした。そこで行を飛ばしながら指定していることが原因かと思い別セルにコピーし関数式で必要でない行を消して一くくりでデータ範囲を指定するとうまくグラフ作成できました。 このことから関数式が入ったデータは問題ないようですが、行を飛ばしてデータ指定するとうまくグラフ作成することができないようです。元データを作り変えればいいのですが、今の配置で行を飛ばしながらグラフをうまく作成する方法はございますでしょうか? 何卒よろしくお願いいたします。

  • Excel関数コピーについて

    Excel関数を横にコピーした時に、 その前の関数の次の列から計算式を作成したいのですが可能でしょうか? D1セルには、=SUM(J2:L2)が入ります。 (B1の関数であれば、A1がC2まで計算しているのでD2からはじまります) A1セル B1セル C1セル     ・・・ =SUM(A2:C2) =SUM(D2:F2)  =SUM(G2:I2)  ・・・ 教えてください。

  • VBAでの年齢計算がうまくいきません。

    失礼いたします。  VBAで年齢の計算を行いたいのですがなかなかうまくいきません。 =sub Dim 開始日付 As String Dim 終了日付 As String Dim 年齢 As String 開始日付 = "S54/4/1" 終了日付 = "H22/4/1" 年齢 = "=DATEDIF(開始日付,終了日付,""Y"")" =endsub としても、DATEDIF関数は引数をうまく処理してくれないのです。 エクセル関数を使わずに、年齢を算出するか。 エクセル関数内に引数を代入する方法があれば教えていただけないでしょうか?

専門家に質問してみよう