• ベストアンサー

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日目と表示されます。 シリアル値で計算しているつもりですが、 なぜ、計算が違うのでしょうか。 日を変更しても狂いがでます。 宜しくお願いします。

質問者が選んだベストアンサー

  • ベストアンサー
  • hallo-2007
  • ベストアンサー率41% (888/2115)
回答No.3

DATEDIF関数でしょうか。 =DATEDIF(A1,A2,"m")&"ヶ月"&DATEDIF(A1,A2,"md")&"日" はご希望の表示ではないでしょうか。

t_saito
質問者

お礼

有難うございます。 この方法だと、入力した年月の概念が残されており、期待通りの結果が得られました。

その他の回答 (5)

  • moni101
  • ベストアンサー率0% (0/1)
回答No.6

hallo-2007さんがお答えになっていますが 理屈としては↓のとおりです。 http://www.relief.jp/itnote/archives/000423.php

参考URL:
http://www.relief.jp/itnote/archives/000423.php
t_saito
質問者

お礼

有難うございます。 添付資料、とても参考になりました。 お礼が遅くなり申し訳ありません。

  • gyouda1114
  • ベストアンサー率37% (499/1320)
回答No.5

回答番号:No.4です。 セル番号が違ってました修正ください。 =INT((A2-A1)/30)&"ケ月"&MOD((A2-A1),30)&"日目"

t_saito
質問者

お礼

わざわざ有難うございます。

  • gyouda1114
  • ベストアンサー率37% (499/1320)
回答No.4

一例 =INT((B1-A1)/30)&"ケ月"&MOD((B1-A1),30)&"日目" 1月を30日として計算 書式設定は標準として下さい。

t_saito
質問者

お礼

早速のご回答有難うございます。

  • sige1701
  • ベストアンサー率28% (74/260)
回答No.2

>そのとき、B2 には、2ケ月18日目と表示されます B2 =A2-A1 =49 1900年1月1日を1として49日目の1900年2月18日を意味しています あなたが期待する値はどのようになればいいのかな

t_saito
質問者

補足

説明不測ですみません。 A1 と A2 の書式を標準にすると、シリアル値が表示されます。 すなわち A1 には 39752 が A2 には 39801 が これを引き算すると 標準書式では期待通り、日数の差である 49 が表示されます。 この時点で既に、 平成20年10月31日などの年月の概念が無くなり、単に差の日数だけなのですネ。 49 を、m"ケ月"d"日目" という書式にすると、なぜ 2ケ月18日目 と表示されるのでしょうか。

  • n-jun
  • ベストアンサー率33% (959/2873)
回答No.1

ひと月の日数がまちまちだからでは? 1ヶ月を何日とするのか。

t_saito
質問者

補足

早々のご連絡有難うございます。 入力した年月に対して、月の日数を決めたいのです。

関連するQ&A