• ベストアンサー

<エクセル>誕生日から年齢 ちょっと問題が・・

はじめまして。 エクセルで、誕生日から現在の年齢を導きたいのですが、どうすればいいですか? DATEIF関数を使えばいいとは思うのですが、一つ問題があって、 誕生日が、 S30-1-1  というふうに、全角文字列で入力されているのです(TT) 途中に列が挿入されても全然かまいませんので、 なんとか    A     B    C   名前   誕生日  年齢 のような形にできないでしょうか? よろしくお願いします。

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

  • ベストアンサー
  • comv
  • ベストアンサー率52% (322/612)
回答No.3

こんばんは >DATEIF関数を使えばいいとは思うのですが、 >一つ問題があって、誕生日が、 S30-1-1 >というふうに、全角文字列で入力されているのです DATEDIF()関数です(Dか1文字足りません) 全角でも対応するはずですから =DATEDIF(B1,TODAY(),"Y") となります。 >「'」 と 「スペース」 まで入っています。 >そのためか、エラーが返ってきてうまくいきません。 「'」は数式バーには表示されるけどセル表示には 現れないものでしょうか? であれば書式設定では なく直接入力で文字列を指定したもので、特に処理 する必要はありません! スペースについては半角か全角か不明なので全て 半角にしてから処理(削除)する式 SUBSTITUTE(ASC(B1)," ",) を使って前の式にあて はめると =DATEDIF(SUBSTITUTE(ASC(B1)," ",),TODAY(),"Y") となります

gangee
質問者

お礼

ありがとうございました!できました! 1週間くらい格闘してて、どうしようもなくなっていました。すごく助かりました。 またなにかあったらよろしくお願いします。

その他の回答 (2)

  • k-mucho
  • ベストアンサー率55% (24/43)
回答No.2

#1です。補足です。 挿入した列が邪魔なら、列を非表示にしてみてください。 (列番号を右クリックで、「表示しない」をクリック)

  • k-mucho
  • ベストアンサー率55% (24/43)
回答No.1

列が挿入されても良いのなら、BとCの間に1列挿入したとして C列に"=ABS(B1)"と数式を入力し、「セルの書式設定」の「表示形式」で「日付」を選択します。 D列に"=TODAY()-C1"と数式を入力し、「セルの書式設定」の「表示形式」で「ユーザー定義」を選択し、「y」と入力します。 これで年齢が求められると思います。

gangee
質問者

お礼

早速の回答ありがとうございます。 セルをよくみると、  'S30- 1- 1 のような形で、「'」 と 「スペース」 まで入っています。 そのためか、エラーが返ってきてうまくいきません。 ためしに、' とスペースなしで新たに入力してやってみるとうまくいったのですが・・・ なんとかならないでしょうか(泣) 置換?かなにかつかえばいいのでしょうか? 申し訳ないのですがよろしくお願いします。

関連するQ&A