- ベストアンサー
DATEDIFでマイナス表示をさせたい
たとえば2004年5月5日~2004年5月1日までは さかのぼって何日マイナスか?という答えを出したいとき DATEDIFではマイナスになると#NUM!がでて答えが出ません。 これを-5という表示にしたいのですが何か方法はありませんでしょうか? 他にもマイナスにもならない日数計算も混在する為、 同じ計算式でコピーしたいのですが、 関数にこだわらず 何かよい方法はありますでしょうか?
- みんなの回答 (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,"") となります。
その他の回答 (2)
- dejiji-
- ベストアンサー率38% (327/858)
通常の状態では日付のマイナス表示は出来ません。(これはエクセルの仕様なのでしょうがありません。) 但し、データを入力する(シートを作るとき)前にツール→オプション→計算方法から下の「1904年から」にチエックを入れると計算が出来るようになります。この場合、日付のシリアル値が約4年分ずれます。他のシートとの互換性も失われてしまいます。(このチエックは本来Macとの互換性を保つために設けられたものですが。)
お礼
ありがとうございます やはり抜け道はあるのですね
- telescope
- ベストアンサー率54% (1069/1958)
=-datedif(a1,b1,"yd") と「-」を付ければよいと思います。 A列の日付からB列の日付までの日数で、同じ計算式でということなら、 =IF(A1>B1,-DATEDIF(B1,A1,"yd"),-DATEDIF(A1,B1,"yd"))
お礼
ありがとうございます これだとちょっと日付がずれてしまうので・・・
お礼
早速のご回答ありがとうございます ドンピシャでした! 本当にありがとうございました!