プロが教えるわが家の防犯対策術!

たとえば2004年5月5日~2004年5月1日までは
さかのぼって何日マイナスか?という答えを出したいとき
DATEDIFではマイナスになると#NUM!がでて答えが出ません。
 これを-5という表示にしたいのですが何か方法はありませんでしょうか?
 他にもマイナスにもならない日数計算も混在する為、
同じ計算式でコピーしたいのですが、 関数にこだわらず
何かよい方法はありますでしょうか?

A 回答 (3件)

こんにちは。

maruru01です。

単純な日数差なら、引き算をするだけでいいと思います。
ただし、両端を加算する期間日数のようなのでちょっと工夫がいります。
仮にA1に「2004/5/5」、B1に「2004/5/1」と入力されているとすると、

=B1-A1-2*(A1>B1)+1

で出来ます。
なお、A1とB1が同じ日付の場合は「1」になると解釈しました。
あと、未入力の対処も入れると、

=IF(COUNT(A1:B1)=2,B1-A1-2*(A1>B1)+1,"")

となります。
    • good
    • 3
この回答へのお礼

早速のご回答ありがとうございます
ドンピシャでした!
本当にありがとうございました!

お礼日時:2004/05/10 18:46

通常の状態では日付のマイナス表示は出来ません。

(これはエクセルの仕様なのでしょうがありません。)
但し、データを入力する(シートを作るとき)前にツール→オプション→計算方法から下の「1904年から」にチエックを入れると計算が出来るようになります。この場合、日付のシリアル値が約4年分ずれます。他のシートとの互換性も失われてしまいます。(このチエックは本来Macとの互換性を保つために設けられたものですが。)
    • good
    • 1
この回答へのお礼

ありがとうございます
やはり抜け道はあるのですね

お礼日時:2004/05/10 18:48

=-datedif(a1,b1,"yd")


と「-」を付ければよいと思います。

A列の日付からB列の日付までの日数で、同じ計算式でということなら、

=IF(A1>B1,-DATEDIF(B1,A1,"yd"),-DATEDIF(A1,B1,"yd"))
    • good
    • 4
この回答へのお礼

ありがとうございます
これだとちょっと日付がずれてしまうので・・・

お礼日時:2004/05/10 18:47

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

このQ&Aを見た人はこんなQ&Aも見ています


このQ&Aを見た人がよく見るQ&A