• ベストアンサー

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

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

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

  • ベストアンサー
  • bunjii
  • ベストアンサー率43% (3589/8249)
回答No.2

>どこに問題があると考えられるでしょうか。 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 (文字列)

anduco
質問者

お礼

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

すると、全ての回答が全文表示されます。

その他の回答 (3)

回答No.4

=DATEDIF(G25,TODAY(),"Y") で「#VALUE!」になるとしたら「G25の値が、日付として有り得ない文字列になっている場合」です。 G25のセルの内容が「文字列」であっても「日付として解釈可能な文字列」なら、正しく計算してくれます。 例えば「13-Jan-88」と言う文字列になっていても、正常に年齢計算します。 「2001/2/29」とか「1981/4/31」とか「日付として有り得ない文字列」になっている時は、エラーになります。もちろん「2001/1/1(月)」のような「余計な物がくっ付いた文字列」もエラーになります。 まずは「日付として正しい文字列かどうか」をチェックして下さい。

すると、全ての回答が全文表示されます。
  • msMike
  • ベストアンサー率20% (371/1817)
回答No.3

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

すると、全ての回答が全文表示されます。
回答No.1

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

すると、全ての回答が全文表示されます。

関連するQ&A