こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

解決済みの質問

エクセルの年齢関数(DATEDIF)が不調です!

エクセルの2つのBOOK(AとB)があります。各々 年齢計算を行っております。
=DATEDIF(G25,TODAY(),"Y") のように 計算式を使用していますが、BOOK A は問題なく年齢表示ができますが、BOOK B は、#VALUE! と表示され年齢表示が出来ません。PCは、Windows10 で エクセル2016 を使用しております。どこに問題があると考えられるでしょうか。

投稿日時 - 2017-02-09 10:45:12

QNo.9291735

困ってます

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

>どこに問題があると考えられるでしょうか。
Excelでは日付をキーボードから入力すると自動的に日付のシリアル値(1900/1/1を1とする経過日数)に変更します。但し、入力した文字列が日付であると判断できないフォーマットのときは文字列が入力されたものとしてシリアル値に変換しません。
下記の例を参考に入力されているデータをチェックしてみると良いでしょう。
平成10年2月10日→ 1998/2/10 → 35836 (シリアル値)
H10.2.10 → 1998/2/10 → 35836 (シリアル値)
H.10.2.10 → H.10.2.10(文字列)
1998/2/10 → 1998/2/10 → 35836 (シリアル値)
1998.2.10 → 1998.2.10 (文字列)

投稿日時 - 2017-02-09 12:53:09

お礼

解決しました。ありがとう ございました。

投稿日時 - 2017-02-11 11:33:20

ANo.2

このQ&Aは役に立ちましたか?

0人が「このQ&Aが役に立った」と投票しています

回答(4)

ANo.4

=DATEDIF(G25,TODAY(),"Y")
で「#VALUE!」になるとしたら「G25の値が、日付として有り得ない文字列になっている場合」です。

G25のセルの内容が「文字列」であっても「日付として解釈可能な文字列」なら、正しく計算してくれます。

例えば「13-Jan-88」と言う文字列になっていても、正常に年齢計算します。

「2001/2/29」とか「1981/4/31」とか「日付として有り得ない文字列」になっている時は、エラーになります。もちろん「2001/1/1(月)」のような「余計な物がくっ付いた文字列」もエラーになります。

まずは「日付として正しい文字列かどうか」をチェックして下さい。

投稿日時 - 2017-02-09 14:12:38

ANo.3

「どこに問題がある」かを知りたければ、貴方が状況を正しく詳細に伝えなければなりません。
式が同じで「BOOK A は問題なく年齢表示ができます」のなら、BOOK A のセル G25 を[コピー]して、それを BOOK B のセル G25 に貼り付けた結果くらいは知らせるべきかと!

投稿日時 - 2017-02-09 13:43:07

ANo.1

G25のセルに適切な日付が入っていないと、計算できません。
例えば、日付のシリアル値でなくて文字列で日付っぽいものが入っているとか。

投稿日時 - 2017-02-09 10:51:43