• ベストアンサー

#NUMが返るセルを-で表示する方法

次のような作業をしています。(Excel2000)     A      B       C 1 1991/4/1 1993/4/1 1996/4/1 2 1989/3/1 1990/5/1 3 1995/4/1 A、B、Cは役職で、その役職になった年月日です。 役職の在任期間を計算するのですが、datedifで計算するとBやCになっていない人の計算結果は空欄のセルから計算させることになりますから当然#NUMで表示されますよね。 こういう場合、#NUMで表示せずに、"-"で表示する方法はあるのでしょうか。 ご存知の方、教えて下さい。 よろしくお願いします。

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

  • ベストアンサー
回答No.1

「もしも…だったら」の基本はIF関数です。 役職Bの在任期間を計算するのに「Bが空欄なら"―"で、そうじゃなければ Bの就任日からやめるまでの経過日数」とするのであれば、 =if(B="", "―", datedif(Bの就任日,やめた日,"D")) というふうになります。実際にはやめた日の部分では役職Cに就任したのか 組織を離脱したのか、現職なのか判定して適切な日付を与えてやれるように 考える必要もありますね。

buuuuuuun
質問者

お礼

あっ、そうでした! ""で空欄を認識してくれることをすっかり忘れていました! 期間を計算させてからの答えを"-"で表示することばかり考えていて最初に定義してやることにちっとも気づきませんでした(間抜け~(>_<))。 作業を進めていてまたちょっと複雑な内容が出てきたのでまた別の質問をさせていただくかもしれません。そのときにはまたよろしくお願いします。 素早い回答ありがとうございました。

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

その他の回答 (1)

  • nishi6
  • ベストアンサー率67% (869/1280)
回答No.2

A2とB2の期間を求める例です。 A2とB2両方が数値として評価されればDATEDIFが使われます。 =IF(COUNT(A2,B2)=2,DATEDIF(A2,B2,"D"),"-") A2とB2が日付として誤入力されているか等は考えていません。iserrorを使う方法もあります。

buuuuuuun
質問者

お礼

回答ありがとうございました。 iserror?初耳・・・ちょっと勉強してみます。 COUNTを使う手は考えつきませんでした。

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

関連するQ&A