• ベストアンサー
  • すぐに回答を!

Excel / Access 関数及びVBAにて年齢の算出

Excel または Accessで、 日付(西暦)から現在の年齢を返してくれる関数はありますでしょうか?(VBAも可) 例:A1セルに1980/1/1と入力  →ある式(関数)が埋め込まれたB1セルに27と表示される または一発でなくても簡単に年齢を返してくれる方法をご存知の方、よろしくお願いします。 ※本日午前中に別の質問をさせていただきましたが、  そちらを締め切る前に再度質問させていただくこと、  マナー違反かもしれませんがお許し下さい。

共感・応援の気持ちを伝えよう!

  • 回答数3
  • 閲覧数372
  • ありがとう数3

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

  • ベストアンサー
  • 回答No.1

Excelのdatedif関数ですね。 =datedif(誕生日, today(), "Y") で今日現在の満年齢が出ます。第3パラメータのバリエーションにつ いてはヘルプを参照して下さい。

共感・感謝の気持ちを伝えよう!

質問者からのお礼

ご回答、ありがとうございます。 なるほど、これならばVBAを使用せずにセルに埋め込めますね。 大変助かりました。

関連するQ&A

  • エクセルVBAでワークシート関数のようにしたい

     例えば、セルA1に日付を入力して、セルB1に関数WEEKDAYが入力されていると、すぐセルA1の値を返してくれますが、これと同じことをVBAで再現したいのですが、可能でしょうか?  マクロやVBAでWEEKDAYを記述しても、「ツール」→「マクロ」→「マクロ」か「VBA」でやらないとA1の値をB1に返せないので、A1に日付を入力した瞬間、B1に値を返したいのですが、よろしくお願いします。

  • エクセル関数を教えて

    セルa1にtoday関数が入っていてb1、c1にa1の日付の半年後、1年半後の日付を自動表示したいのですがどういう式を入れればよいですか

  • Excel で年齢から料金を表示させる方法

    大人料金・子供料金の計算を行なう式をExcelで作りたいと考えています。 例えば大人料金が1,000円,子供料金が500円,5歳以下が無料という設定があったとします。 セルA1に年齢を入れるとセルB1に料金が表示されるようにするには,セルB1にどんな式を作ればいいでしょうか? 具体的にはセルA1に「35」と入れるとセルB1に「1,000」が表示され,セルA1に「15」と入れるとセルB1に「500」が表示される,といった具合です。 こういう計算はVBAなどを使わずにExcelの関数式ではできないでしょうか?

その他の回答 (2)

  • 回答No.3
noname#140971

補足: [イミディエイト] ? GetAge("1949/05/01", "2007/04/30") 58

共感・感謝の気持ちを伝えよう!

質問者からのお礼

ご回答、ありがとうございます。 VBAで実現するにはこういうった方法があるんですね。 大変参考になりました!

  • 回答No.2
noname#140971

[イミディエイト] ? GetAge("1949/05/01", "2007/04/13") 57 Public Function GetAge(ByVal Birthday As Date, ByVal Hiduke As Date) As Integer   GetAge = DateDiff("yyyy", Birthday, Hiduke) + _         (Format(Birthday - 1, "mm/dd") > Format(Hiduke, "mm/dd")) End Function 私は、こんな関数を用いています。

共感・感謝の気持ちを伝えよう!

関連するQ&A

  • EXCEL VBAの日付関数について

    EXCEL VBAの日付関数のことでお聞きしたいことがあります。 エクセルの関数でワークデイ関数がありますが、例えば C1セル: =WORKDAY(A1,10,B1:B10) これをVBAのコードで書くと、どういうコードになるのでしょうか。 VBAの関数については詳細に書かれたテキストを持っておらず、WorksheetFunctionを使ってチャレンジしてみましたが どうも上手くいきませんでした。 初歩的な質問かも知れませんが、どうぞよろしくお願いいたします。

  • エクセル 関数について

    エクセルで A1にTODAYで今日の日付が入ってます(2009/5/21) B1~B10に任意の西暦を入力します 2009/05/19など C1~C10に今日2009/5/21より過去だったら”1”を 未来だったら”2”を返すような関数はありますか?

  • Excelの関数で・・・

     私は、エクセルの関数で次の形の式をよく使います。  セル番号A1に  IF(B1="","",・・・・・・・・・・)  みなさんご存知のとおり、『「セル番号B1」が空欄の場合は、「セル番号A1」に空欄を返しなさい。それ以外の場合は・・・・・・・・・・・。』  そこで質問です。  セル番号A1に、  『「セル番号B1」と「セル番号C1」と「セル番号D1」の3つ全部が空欄の場合は、セル番号A1に空欄を返しなさい。それ以外の場合・・・・・・・・・・・。』  とういう式をお教えください。解りにくい文章(説明文)ですがよろしくお願いいたします。

  • EXCEL 2010 VBAまたは関数について

    こんにちは 初投稿です。 早速ですが、VBAまたは関数について質問させて頂きたいのですが・・・ 一つのセルに複数の数字と文字列がセルのE1混ざっている場合, (12345abc678cdef9ghijk)と入っている場合 にこの例で行くとセルのA1に12345セルB1に678セルC1に9というように数字で表示させたいのです が、最初関数で A1=VALUE(MID(E1,1,5)) B1=VALUE(MID(E1,9,3)) C1=VALUE(MID(E1,16,1)) と言う形で数字だけ抜き出していたのですが これだと数字の桁数が違ってくる(※正し文字列の長さは一緒 数字だけが桁が違ってきます) と表示されなくなってしまうため、 出来れば関数をいじらなくても表示されるようにしたいのです。 VBAもしくは関数でこの問題を解決出来る方がいらっしゃるなら どうぞよろしくお願い致します。 長文失礼致しました。 | A | B | C | D | E | ------------------------------------------------ 1 | 12345 | 678 | 9 | | 12345abc678cdef9ghijk | 2 | | | | | |

  • エクセル VBAで関数を定義したけれどもうまくいかない

    以前ここで教えていただいた方法ですが、 セルB1からB100までのいずれかを変更した際に プロシージャが起動する方法として まず VBAで標準モジュールに 関数を定義して Function mykansu(dum As Range) for i=1 to 100 if cells(i,2)=1 then cells(i,6)="yes" next i End Function そしてexcelシートでセルA1に =mykansu(B1:B100) とやれば、B列の変更を加えたらプロシージャが起動する と教えていただきました。 しかし A1に #Value と出たきりでVBAのプロシージャが動かないのはなぜでしょうか。教えてください。

  • 日付を含む関数について。

    エクセル2003での質問です。 ある列のセル(A1とします)のセルに日付が書き込まれた時だけ、対応する列のセル(B1とします)に決まった文字(ここでは"済")が入るようにしたいと思いIF関数を使って組み立てたのですが、日付の入れ方が解らず上手く行きません。 =IF(A1="日付","済","") ←B1に書き込んでます。 と式を立てていますが、この・日付・の部分の入れ方を教えて頂けないでしょうか? また、勉強の為他の考え方も有ればお教え下さい。 宜しく御願いします。

  • EXCEL関数

    EXCEL関数の件で質問します。 セルA1に5を入力し、B1セルにAI+1を表示する場合、(A1+1)>3ならB1セルの数を赤字(フォント)に表示、(A1+1)<3なら黒字になる様な式は出来るでしょうか?出来るなら入力式を教えてください。

  • エクセル関数

    セルA1に入力した日付が2008年12月31日以前なら セルB1に○ 2009年1月1日以降なら× と入力されるような関数を教えていただけたら幸いです。 よろしくお願いいたします。

  • エクセルの関数

    エクセルの関数を教えてください。 (1)A1セルに年数をH○○という表記。 B1セルにA1から5年後を0点とし、1年経つごとに+2点としたい。  例: A1セルH10 B1セル 18点(5年後H15を0とし年ごとに+2) ※A1とB1それぞれに入れる関数を教えてください。  A1にユーザー定義で”H"0 と入れて数字10を入力すると「H10」となる。 でもB1入れる関数が分からない。IFなのは分かるのですが。。。どのように式を入れるんですか? (2)A1セルに市町村 B1セルに参加 ○   C1セルにB1セルの参加〇なら5点。空白なら0点。としたい。さらに市町村がグループPに該当する なら、+1としたい。グループ表は別で作成。  例:A1セル ○○市 B1セル参加○ C1セル 5点(A1がグループPなら+1で6点)  上記2点の関数を分かる方教えてください。よろしくお願いします。

  • VBA セル内の関数の参照先

    あるExcel2000のファイル セル A1に20 A2に30 A3に50 A4に10 A5に60 セル B1に30 と表示されています B1の中は =Average(A2:A4) となっています 私はVBAでこのB1の中のAverage関数の参照先を取得したいのですがその方法が分かりません 例えば A=Cells(1,2)や A=Range(B1) としても変数Aは当然ですが30となってしまいます EXCELの関数でセルの中にある関数や参照先を抽出出来るものがないかと探して見ましたが私には見つける事が出来ませんでした。 セルの中にある関数、もしくはその関数の参照先を抽出する方法は無いのでしょうか よろしくお願いします。