こんにちは。 #2です。
> たとえば開始日が2010/04/15
> 終了日が2010/05/04(TODAY)
> だとすると経過日数が-28774日とでます。
これは憶測になりますが、
おそらく、NETWORKDAYS関数の引数に設定している参照元のセルの指定が
間違っている、または、セルの値が、日付の値(シリアル値)として、上手く認識
されていないように思われます。
こちらで、いろいろ試してみた結果、NETWORKDAYS関数の引数に、以下の
ような値を設定した場合に、結果が -28774 と表示されました。
※当方は、Excel2000を使用しています。
開始日付 : 2010/4/15 ←この値は正常
終了日付 : 0
※参照元のセルを空欄にするか、または、0を入力した場合
※ここは本来、TODAY関数で返される値
祭日 : 省略
※祭日を省略した場合は、土・日のみ休日扱いになります。
ですので、質問者さんがご使用のExcelシートのA1セルの値、及び、祭日を
設定しているシートのセル範囲の値が、正しく設定されているか、または、
TODAY関数及びNETWORKDAYS関数の記述が正しいかどうか、再度、確認
された方が良いように思います。
念のため、使用していないセルに以下のような数式を入力して、表示される値
がどうなるか、それぞれ確認してみてください。
=NETWORKDAYS("2010/4/15",TODAY(),祝日!A1:A9)
=NETWORKDAYS("2010/4/15","2010/5/4",祝日!A1:A9)
=NETWORKDAYS("2010/4/15","2010/5/4")
=NETWORKDAYS("2010/4/15",0)
=A1 ←この数式を入力するセルの書式設定の表示形式は「標準」にする。
※A1セルにTODAY関数が設定【数式: =TODAY()】されているなら、
表示値は 40302 と表示されると思います。
但し、現在日付が 2010/5/4 だった場合
あと、経過日数を表示するセルの書式の表示形式ですが、ユーザ-定義で
例えば、
0"日"
とすると、マイナス値の場合でも表示されますが、#1,#3さんの言われるように
dd"日" または、 d"日"
とすると、マイナス値の場合、#####~# と表示されます。
以上です。
お礼
詳細をありがとうございます。 書式の設定を頭を冷やして見直してみました。 セルの設定をごちゃごちゃにしてしまっていたようです。 無事 日数が計算できるようになりました!