- ベストアンサー
Excel2003 和暦&複数のセルから年齢の計算
お世話になります。 色々調べてみましたが どうにも分からないので質問させてください。 今、リストを作成していて「E列」にはプルダウンで「大正」「昭和」「平成」を選ぶようにしています。 で、「F列」には和暦で「年」を数値で入力します。これと同様に「G列」には「月」「H列」には「日」 とそれぞれ数値で入力させ、シートの右はじの方で=today()と何か関数でも入れて =datedif(端のセル,その隣のセル,"Y")として年齢を入れたい(「I列に」)と思っているのですが、 現状では 和暦の部分が「西暦の下2桁」と認識されてしまっているようで正しく年齢が反映されません。 一応 =date(F,G,H)は設定してます。西暦なら正しい年齢を反映させられるので 「和暦」を「西暦」にさせられる方法があればOKだと思うのですが 何か方法は御座いませんでしょうか。 =TEXT(値,表示形式)とか、=VALUE(文字列)を使うのかな?とも思ったのですが 今一つピンと来なかったので どなたか ご存知の方がいらっしゃいましたら ご教授いただけますでしょうか。 *ちなみに「昭和」と「平成」の人は 必ず居ると思います(多分「大正」の人は居ないと思うのですが可能性は否定出来ません) *ちなみにちなみにVBAですでに2つのマクロが登録されています。 うち1つは 必要ないのですが 2つ目も動かなくなってしまうので (何をどうイジればいいのか分からないので)2つ目の「〒番号→住所」の為に放置です。 お手数では御座いますが宜しくお願い致します。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
- ベストアンサー
一例です。すべて1行目にあるとき、 =DATEDIF(VALUE(E1&F1&"年"&G1&"月"&H1&"日"),右端のセル,"Y") とすれば、一応表示できます。右端のセルは、絶対参照で固定させましょう。 他にもっと良い方法があるかと思いますが、思いつきませんでした。
その他の回答 (1)
- hallo-2007
- ベストアンサー率41% (888/2115)
適当なセルに =(E1&F1&"年"&G1&"月"&H1&"日")*1 と入れるとエクセルに日付(シリアル値)になりますので 関数に組み込めます。(書式は日付へ変更) =DATEDIF((E2&F2&"年"&G2&"月"&H2&"日")*1,TODAY(),"y") とかで下までコピィしては如何でしょうか。 書式の表示形式は数値、或いは標準です。
お礼
ありがとう御座います!! 「もしかしたらVBAか?」と思っていたので関数で解決して 良かったです。 ありがとう御座いました!!
お礼
完璧でした!! ありがとう御座います!! >右端のセルは、絶対参照で固定させましょう。 これ、必要な全部の行に用意してしまったんですよね。。。 よく考えたら絶対参照で解決ですよね。 ありがとう御座いました。