• ベストアンサー

EXEL『計算結果の年齢をデータとして使いたい』

EXEL超初心者です。 「TODAY()-セル」で年齢を出したセルのデータを、他のセルで使いたいのですが、#N/Aのエラーメッセージが出てしまいます。 ためしに年齢のセルに計算式を入れず年齢そのものの数字を入れるとエラーが出ません。 おそらく書式の設定が悪いと思うのですが、どうしたらよいのでしょうか?

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

  • ベストアンサー
  • imogasi
  • ベストアンサー率27% (4737/17069)
回答No.3

#2のmoccosさんのお答えを説明・補足します。 A1に生年月日、例えばs23.1.20をいれる。sは必要です。 B1には今日の日付と言うことで=today()をいれる。 C1には=datedif(a1,b1,"y")といれる。=dateif(a1,b1,"y")ではないので間違わないこと。"y"はa1からb1までの期間内の満年数を出し、年に満たない端数は切り捨てるものです。54と出ます。difはdifference(差)の略です。 D1セルに例えば=C1+10とかを入れると64となります。計算できてエラーは出ません。

CPT_KOALA
質問者

お礼

imogasiさん、ありがとうございます。 そのとおりにしたら解決いたしました。 またよろしくお願いいたします。

その他の回答 (3)

回答No.4

どのようにしてデータの入ったセルを他のセルで使おうとしているのかが分らないのですが、ひょっとして、相対参照の計算式が入ったセルをそのまま他のセルにコピー貼り付けしているということはないでしょうか?その場合計算式内の参照セルがコピー先のセルによって変わってしまうため、TODAY関数や生年月日の入っていないセルを計算しようとしてしまいます。 年齢が正しく表示されるセルの数式とそれを使いたい他のセルの数式が違っていないか確認してみてください。もし違っていたのなら、次のいずれかの方法で正しく年齢を表示できるはずです。 (A)正しく表示されているセルの数式を絶対参照にかえてから(例えば数式が =A1-B1なら =$A$1-$B$1にする)コピーする (B)値だけを貼り付ける。元のセルをコピーした後貼り付けたいセルの上で右クリック、「形式を選択して貼り付け」を選択し、「値」にチェックして「OK」を押す(2002はちょっとやり方がかわったらしいですが・・) (C)コピー貼り付けを使わずに数式で対応する。年齢の入ったセルがA1だとすると他に年齢を使いたいセルの数式を =A1 とする

CPT_KOALA
質問者

お礼

BraveStoryさん、ご丁寧にありがとうございました。 説明が悪くてすみませんでした。 おかげさまで解決いたしました。 またよろしくお願いします。

  • moccos
  • ベストアンサー率43% (61/140)
回答No.2

初めまして。   A    B    C 生年月日 今日の日付 と入力されてるとします。 B1セルは「=today()」ですね。 C1に年齢が表示されるようにするには 「=DATEDIF(A1,B1,"Y")」と入力します。 (開始日、終了日、"単位") 単位はY (年) M (月)  D (日)です。 でよろしいでしょうか? 

CPT_KOALA
質問者

お礼

moccosさん、わかりやすい解答ありがとうございます。 これを値のみコピーしたら解決しました。 またよろしくお願いします。

  • Good-S15
  • ベストアンサー率33% (149/439)
回答No.1

こんばんは。 すみません。内容がよく分かりませんので。。。 予測でアドバイスします。 >他のセルで使いたいのですが ということなので、きちんとできているセルがあって、 「その他も同様にしたい」という意味で捉えると、 1.右クリックで「コピー」 2.他のセル上で右クリック-「形式を選択して貼り付け」 3.画面で「数式」にチェックし、「OK」ボタン あるいは、「リンク貼り付け」でイイはずです。 また、#N/Aは、ナンバリングエラーといい、元データがナイか、 元データからの設定がズレている場合に表示されます。 参考にして下さい。

CPT_KOALA
質問者

お礼

Good-S15さん、ありがとうございます。 「#N/Aは、ナンバリングエラー」よくわかりました。 exelって難しいですね。 またよろしくお願いします。