• 締切済み

日付の計算中に・・・

こんにちは、教えてください。 今、日付から日付を引いて残りが、何年何ヶ月かという計算を しております。     A        B          C 1  2007/8/31 - 2006/5/30  =  yy/mm/dd このように行っております。 上から順番に計算を行っていたのですが、 あるC列の数行目にきたところ、"yy/mm/dd"が 反対になっていました。"dd/mm/yy"というように。。。 書式設定でyy/mm/ddに変更しても効果無しでした。。。 一体どうしてでしょうか?? お分かりの方、教えてください!

みんなの回答

回答No.2

根本的に間違っています。期間を日数以外で出したい時に、日付を 単純に引き算してはいけません。2006年5月30日から2007年5月31日 の期間が1900年と12ヶ月と31日だとでも?期間の計算はdatedif関数 を使用して下さい。 とりあえず、ユーザー定義書式で年をすべて4桁で表示してみて下さ い。2桁表示ではいろいろと勘違いの余地があります。

sinnji0429
質問者

補足

ご回答有難うございます。 すみません、質問の仕方が悪かったですね。 日付の計算は出来ています。 問題はC列の場所で、今まで答えは"yy/mm/dd"表示になって いたのですが、あるセルに来たところ、突然逆転して"dd/mm/yy"に なってしまったので、それを何とかしたいという事です。

noname#176215
noname#176215
回答No.1

> 今、日付から日付を引いて残りが、何年何ヶ月かという計算を > しております。 そもそも 上の計算式では 計算結果がずれるのは当然です。 Excelが計算しているのは 日付の引き算結果であって期間計算では ありません。 例えば 上の Cの結果は「1901年4月2日」でしかありません。 「1年4ヶ月と2日」とみるのは大間違いで 結果も間違っています。 表示形式を標準にしてみれば分かりますが これは「458日」の差が あることを示しているのであって シリアル値で表示されているのは 「1900年1月0日から458日後」でしかありません。 「458日」なのですから 6~8月の月が「92日間」であることを考え れば 「1年3ヶ月と1日」が正解になります。 DATEDIF関数で「Y」「YM」「MD」を計算して下さい。 ※なお「MD」には バグがあって閏年を挟む時は 計算結果がずれます。

sinnji0429
質問者

補足

ご回答有難うございます。 すみません、計算の数式は既に組んでありますので、大丈夫です。 ずれるというのも今回の質問では特に関係有りません。 様は答えのC列の場所に今まで答えが"yy/mm/dd"で見えていたものが 突然有るセルに来たところ、"dd/mm/yy"というように逆転してしまって いた、という事です。 セルの書式設定で"yy/mm/dd"であるのを確認しますが、セル上に見えている答えは"yy/mm/dd"で表示されてしまいます。 この"yy/mm/dd"の見え方の問題を解決したいです。

関連するQ&A