- ベストアンサー
Excelの日付関数教えて下さい
Windoes XP Pro, Excel 2003を使っています。 A1とA2には、書式設定で、[$-411]ggge"年"mm"月"dd"日"を入れてあります。 B2の書式表示形式には、m"ケ月"d"日目"といれてあります。 B2に計算式、=A2-A1 を設定しておいて A1 に、2008/10/31 と入力すると、平成20年10月31日と表示されます。 A2 に、2008/12/19 と入力すると、平成20年12月19日と表示されます。 そのとき、B2 には、2ケ月18日目と表示されます。 シリアル値で計算しているつもりですが、 なぜ、計算が違うのでしょうか。 日を変更しても狂いがでます。 宜しくお願いします。
- みんなの回答 (6)
- 専門家の回答
質問者が選んだベストアンサー
DATEDIF関数でしょうか。 =DATEDIF(A1,A2,"m")&"ヶ月"&DATEDIF(A1,A2,"md")&"日" はご希望の表示ではないでしょうか。
その他の回答 (5)
- moni101
- ベストアンサー率0% (0/1)
hallo-2007さんがお答えになっていますが 理屈としては↓のとおりです。 http://www.relief.jp/itnote/archives/000423.php
お礼
有難うございます。 添付資料、とても参考になりました。 お礼が遅くなり申し訳ありません。
- gyouda1114
- ベストアンサー率37% (499/1320)
回答番号:No.4です。 セル番号が違ってました修正ください。 =INT((A2-A1)/30)&"ケ月"&MOD((A2-A1),30)&"日目"
お礼
わざわざ有難うございます。
- gyouda1114
- ベストアンサー率37% (499/1320)
一例 =INT((B1-A1)/30)&"ケ月"&MOD((B1-A1),30)&"日目" 1月を30日として計算 書式設定は標準として下さい。
お礼
早速のご回答有難うございます。
- sige1701
- ベストアンサー率28% (74/260)
>そのとき、B2 には、2ケ月18日目と表示されます B2 =A2-A1 =49 1900年1月1日を1として49日目の1900年2月18日を意味しています あなたが期待する値はどのようになればいいのかな
補足
説明不測ですみません。 A1 と A2 の書式を標準にすると、シリアル値が表示されます。 すなわち A1 には 39752 が A2 には 39801 が これを引き算すると 標準書式では期待通り、日数の差である 49 が表示されます。 この時点で既に、 平成20年10月31日などの年月の概念が無くなり、単に差の日数だけなのですネ。 49 を、m"ケ月"d"日目" という書式にすると、なぜ 2ケ月18日目 と表示されるのでしょうか。
- n-jun
- ベストアンサー率33% (959/2873)
ひと月の日数がまちまちだからでは? 1ヶ月を何日とするのか。
補足
早々のご連絡有難うございます。 入力した年月に対して、月の日数を決めたいのです。
お礼
有難うございます。 この方法だと、入力した年月の概念が残されており、期待通りの結果が得られました。