
No.5ベストアンサー
- 回答日時:
こんばんは
とりあえず大きな勘違い
>2006年3月31日時点での年齢を計算したいので
こちらを考えていませんでした。
=YEAR(TODAY())-LEFT(A1,4)-(DATE(YEAR(TODAY()),MID(A1,6,2),RIGHT(A1,2))>TODAY())
この式は「今日現在の年齢」を求める計算式になります。
DATE(YEAR(TODAY()),MID(A1,6,2),RIGHT(A1,2))
この部分で「その人の今年の誕生日」を求めています。
A1に1805/09/05と入力されていれば 今年の誕生日は 2005/09/05
A1に1805/09/08と入力されていれば 今年の誕生日は 2005/09/08
DATE(YEAR(TODAY()),MID(A1,6,2),RIGHT(A1,2))>TODAY()
比較演算子 > を使う事でこの部分は「倫理式」となります。
(この式の先頭に = を付けて空いているセルに入力して確認してみて下さい)
「その人の今年の誕生日」と 今日現在(2005/9/7)の日付を > で比べることで、
TUREかFALSEが返ります。
DATE(YEAR(TODAY()),MID(A1,6,2),RIGHT(A1,2))>TODAY()
2005/9/5>2005/9/7 ←今年の誕生日が来ていればFALSE
2005/9/8>2005/9/7 ←今年の誕生日がまだならばTRUE になります。
倫理値FALSEは 0(ゼロ) TRUEは 1 として扱われます。
なので
1805/09/05生まれの人の今日現在(2005/09/07)の年齢は
=YEAR(TODAY())-LEFT(A1,4)-(DATE(YEAR(TODAY()),MID(A1,6,2),RIGHT(A1,2))>TODAY())
=2005-1805-FALSE
=2005-1805-0
=200 (200歳、今年の誕生日はもう来ている)となります。
1805/09/08生まれの人の今日現在(2005/09/07)の年齢は
=YEAR(TODAY())-LEFT(A1,4)-(DATE(YEAR(TODAY()),MID(A1,6,2),RIGHT(A1,2))>TODAY())
=2005-1805-TURE
=2005-1805-1
=199 (199歳、今年の誕生日はまだ来ていない)となります。
>2006年3月31日時点での年齢
ならば
=2006-LEFT(A1,4)-(DATE(2006,MID(A1,6,2),RIGHT(A1,2))>DATE(2006,3,31))
とすればいいのではないかと思います。
(あまり深く検証していないので、間違っていたらゴメンナサイ)
※制限条件
誕生日を入力するセル(この式の場合A1)
はあらかじめ「文字列」としておいて
西暦4桁/月2桁/日2桁 1980/01/07 のように
入力しておく必要があります。
ちなみに上記の式で
誕生日が2005/03/31の人の2006年3月31日時点での年齢は 1(歳)
誕生日が2005/04/01の人の2006年3月31日時点での年齢は 0(歳)
と計算されたので多分大丈夫だと思いますが。。。
No.4
- 回答日時:
A1に文字列(1900年以前は自動的に文字列になりますが)として"1800/4/1"のような日付が入っていて
B1に日付として2006/3/31のような日付(シリアル値)が入っているとすると
=YEAR(B1)-LEFT(A1,FIND("/",A1)-1)-(DATE(YEAR(NOW()),MONTH(B1),DAY(B1))>DATEVALUE(MID(A1,FIND("/",A1)+1,LEN(A1))))
のようにします。
単純に年を引き算して、その月日がまだ過ぎてなければさらに1を引きます。
(1900年以前と以後を)統一的に扱うには、B1も文字列として入力した方がいいような気がしますが、基本的に未来の日付であるなら、問題ないです。
No.3
- 回答日時:
一旦100年ほど足して計算させてみては?
生まれた年に1000年足して、3007年の誕生日を
計算してみるとか。
(日数まで計算したいなら、閏が入って微妙にずれますが。)
No.2
- 回答日時:
1800年代生まれで今生きてる方はいないと思いますが...
A2:誕生日として
=IF(ISTEXT(A2),DATEDIF(SUBSTITUTE(A2,"18","19",1),"2007/3/31","y"),DATEDIF(A2,"2006/3/31","y"))
として100年ずらせば計算できます。
No.1
- 回答日時:
この回答への補足
Kaisendonさま
早速回答を頂ありがとうございます。
参考のHPを拝見させていただきましたが、式の
内容がよく分かりませんでした。
もし、式の内容が分かれば解説をお願いしたのですが。
=YEAR(TODAY())-LEFT(A1,4)
-(DATE(YEAR(TODAY()),MID(A1,6,2),RIGHT(A1,2))>TODAY())
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) Excelで、昭和の西暦換算 6 2023/03/23 11:29
- Excel(エクセル) 現時点の年齢を算出して、その年齢と一致したセルを色付けしたい。 4 2022/06/23 17:49
- その他(パソコン・スマホ・電化製品) エクセル 平均年齢 4 2022/06/04 18:18
- Excel(エクセル) Excelの関数 5 2023/07/07 05:26
- Excel(エクセル) Excelへのデータ入力作業 4 2023/07/01 18:21
- Excel(エクセル) 至急です><Excelの関数を教えてください。 2 2022/03/22 17:56
- Excel(エクセル) 関数の質問です 3 2022/03/24 12:41
- Excel(エクセル) 至急回答お願いいたします><Excel関数について 8 2022/03/25 10:34
- その他(資産運用・投資) 年利回りの計算方法について 5 2023/01/03 19:38
- 財務・会計・経理 パソコンの減価償却の質問になります (2022年1月31日決算) 2022年11月30日にパソコンを 2 2023/04/05 19:57
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
月の最後の週の呼び名は?
-
「6月まで」というのは6月以内...
-
自治会の通常総会の年度について
-
カレンダーの日付 5/Bの意味に...
-
エクセルのフィルターを複数シ...
-
10月をもって辞めるって、10...
-
8月までっていつまでのことでし...
-
入社が2月1日とした場合、3ヶ月...
-
総会の年度表記について
-
昔は何歳くらいからお酒を飲ん...
-
昔の愛称?「~の字」
-
キリストが死んだのは西暦何年...
-
確認ですが普通5月までに決める...
-
董卓の酒池肉林って、具体的に...
-
「1年以上」の定義について
-
満何歳の意味
-
ExcelVBAで質問です。Workbook_...
-
月度ってどういう意味ですか
-
日本の陰暦(旧暦)にあった「1...
-
日本文化の中の七という数字の意味
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
自治会の通常総会の年度について
-
カレンダーの日付 5/Bの意味に...
-
確認ですが普通5月までに決める...
-
月の最後の週の呼び名は?
-
エクセルのフィルターを複数シ...
-
総会の年度表記について
-
8月までっていつまでのことでし...
-
入社が2月1日とした場合、3ヶ月...
-
「6月まで」というのは6月以内...
-
10月をもって辞めるって、10...
-
「1年以上」の定義について
-
昔の愛称?「~の字」
-
昔は何歳くらいからお酒を飲ん...
-
御入園?ご入園?
-
定年になる年度を関数で算出したい
-
月度ってどういう意味ですか
-
満何歳の意味
-
「なんで付き合おうと思ったか...
-
○年後の3月末日を関数で出したい
-
何故か毎年3月や4月に不運が続...
おすすめ情報