人生のプチ美学を教えてください!!

次のような作業をしています。(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で表示せずに、"-"で表示する方法はあるのでしょうか。
ご存知の方、教えて下さい。
よろしくお願いします。

A 回答 (2件)

「もしも…だったら」の基本はIF関数です。


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

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

お礼日時:2002/04/26 11:24

A2とB2の期間を求める例です。


A2とB2両方が数値として評価されればDATEDIFが使われます。

=IF(COUNT(A2,B2)=2,DATEDIF(A2,B2,"D"),"-")

A2とB2が日付として誤入力されているか等は考えていません。iserrorを使う方法もあります。
    • good
    • 0
この回答へのお礼

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

お礼日時:2002/04/26 11:28

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!