
7月25日(セルA1)から7月1日(セルB1)までの日数を計算する場合、B1-A1で日数は出てくるようなんですが、例えば月を跨いだ場合、誤差は出てくるのでしょうか?(閏年や、月ごとの総日数の違いなどにより)
日数計算の場合、DATEDIF関数というものもあるようなのですが、これを使うと日数がマイナスになってしまう場合、エラーになってしまうようです。
後者の方が正確であるならば、DATEDIF関数を使いたいんですが、その場合、引き算の結果がプラスになる場合、マイナスになる場合が混在しているデータで使用する場合、どのような計算式を入力すればよいのかが分かりません。
どなたか御存知の方、よろしくお願いします。
ちなみに、単なる引き算で誤差がでないようでしたら、引き算で処理したいと思っています。
No.2ベストアンサー
- 回答日時:
用途によりますが、単純な日数計算なら基本的には誤差は出ないと思いますよ。
Excel内では、1900年1月1日を1として、1日ごとに1増える計算になっていますので。
ようするに、数字同士の引き算ですからね。
閏年は計算に入っていますし、月ごとの総日数も関係ないですし。
DATEDIFを使うなら、IF関数で大きさを比べて使ってみてはいかがでしょうか?
No.6
- 回答日時:
#4 の私の書いたものの修正します。
すでに、ご指摘がありますが、以下の文言は訂正いたします。
>いいえ、OSが、Winでしたら、1900年(1904年)以降、正しく表示します。
1900/3/1 以降からのシリアル値です。見落としていました。現行バージョン、旧バージョンを調べてみましたが、どちらも同じ1900/2/29が出てきますが、本来、その日はありません。
失礼しました。
No.5
- 回答日時:
1900/2/29 という日付は存在しないのですが、1900年日付システムでは存在しますよね。
つまり、1900年日付システムでの日付シリアルを、「1900/1/1を 1 とする連番」と理解すると、実は 1900/2/29 以降は1日ずれている事になります。
つまり、1900/2/29 をまたぐ日数差の計算は1日ずれてしまいます。逆に言えば 1900/2/29 をまたがない限り日数差は引算で正確に計算できます。
皆それを承知の上で1900年日付システムを使っています。
No.4
- 回答日時:
>B1-A1で日数は出てくるようなんですが、例えば月を跨いだ場合、誤差は出てくるのでしょうか?
いいえ、OSが、Winでしたら、1900年(1904年)以降、正しく表示します。
>単なる引き算で誤差がでないようでしたら、引き算で処理したいと思っています。
そのほうが、自然な考えだと思います。
ここでは、関係がありませんが、DateDif は、"MD", "YD" オプションはバグがありますから、気をつけて使ったほうがよいと思います。"D"なら、同じです。単に、シリアル値からの計算ですから、それなら、使わなくてよいですね。
バグについて、触れられていますが、
http://www.kenzo30.com/zuisou/hanasi3.htm#DATEDIF関数について
"MD", "YD" の計算は、いわゆる「祥月命日」までの計算ですが、英米でも同じ計算をするのか、ちょっと不思議に感じたりします。欧州では、みたことがありませんので、ないような気がします。いずれにしても、仕事では、ちょっと使えないオプションのひとつです。
マイナスになる場合
すでに解答が出ていますが、マイナスが出ないように、ABS() で括ればよいだけです。
これは、ワークシート関数のみに発生します。(VBAにも同様のものがありますが、そちらは、そのようなオプションはありません。)
MS側は、そのバグについて認識してきても、ずっと放置してきた問題のひとつです。
No.1
- 回答日時:
こと日数に関する限り、上記は同じ結果です。
=ABS(A1-A2)
=IF(A1>A2,DATEDIF(A2,A1,"d"),DATEDIF(A1,A2,"d"))
=DATEDIF(MIN(A1,A2),MAX(A1,A2),"d")
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) 現時点の年齢を算出して、その年齢と一致したセルを色付けしたい。 4 2022/06/23 17:49
- Excel(エクセル) Excel 数式を教えてください 2 2022/06/02 12:24
- Visual Basic(VBA) 顧客ごとに違う点検案内を作成するマクロ 4 2022/09/16 05:34
- Excel(エクセル) エクセル 関数について質問です。 2 2022/10/03 11:14
- Excel(エクセル) エクセルの関数に関しての質問です。 5 2022/10/07 11:17
- Excel(エクセル) 時間差を求めるマクロコードを教えてください。 4 2022/05/17 18:22
- Excel(エクセル) 至急です><Excelの関数を教えてください。 2 2022/03/22 17:56
- その他(Microsoft Office) 従業員増減対応で当番種類の増減対応な当番表 21 2022/07/19 07:30
- Excel(エクセル) B列に、A列の数字が偶数の場合は1減算した数字、奇数の場合はそのまま数字を自動表示したい 4 2022/04/16 12:01
- Excel(エクセル) Excelの関数 5 2023/07/07 05:26
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
1000円の3割の計算教えて下さい
-
【Excel】 SUMPRODUCT関数の高速化
-
ExcelでLog10を自然数に直すには
-
この計算方法を教えて頂きたい...
-
この二つの計算方法が分からな...
-
米5キロ3800円のを買っています...
-
真空管ステレオの増幅度について
-
高校数学について
-
2次RC回路 時定数求め方
-
スポーツスターの各ギアの速度...
-
5800円の25%引きはいくらですか...
-
エクセルの計算式が上書き保存...
-
1000年前の直系の先祖の数
-
5000万円×3%+6万円などの計算を...
-
1350円の、2割五分増しと ...
-
PCのインチについて教えて下さい。
-
WEBのようにスクロールすると付...
-
メッツ
-
土嚢1体で何m3入りますか?
-
ダウントランスの容量計算
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
1000円の3割の計算教えて下さい
-
ExcelでLog10を自然数に直すには
-
【Excel】 SUMPRODUCT関数の高速化
-
医療費の計算方法を教えてくだ...
-
米5キロ3800円のを買っています...
-
100リットルにたいして本品10ml...
-
WEBのようにスクロールすると付...
-
excelで板取計算。1枚の板から...
-
5フィート5インチって
-
iPhoneの関数電卓の使い方を教...
-
Excel タイムカードで、昼休み...
-
5000万円×3%+6万円などの計算を...
-
漢字の変換(計るor図る)
-
270万円の6対4の計算式を教え...
-
1350円の、2割五分増しと ...
-
4を4つ使って1〜100を作って欲...
-
土嚢1体で何m3入りますか?
-
エクセルの計算式が上書き保存...
-
エクセルの関数 ENTERを...
-
1日目に1円 二日目に2円 三日目...
おすすめ情報