- ベストアンサー
エクセルの期間を計算する
#553257の質問項目を見させていただきまして、 http://www.okweb.ne.jp/kotaeru.php3?q=553257 同じ事をしたかったので試してみたのですが、 私がやると(2)の条件が合わないのです。2ヶ月になります。私の勘違いでしょうか? もし同じ意見の方がいらっしゃれば正解を教えて下さいませんでしょうか?別に過去に回答された方を責めるつもりじゃないのです。同じ壁にぶつかって悩み疲れただけでして・・・ 宜しくお願い致します。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
こんにちは おそらくDATEDIFの使い方で間違っているのだと思われます。 期間の初めがA列、期間の終わりがB列、結果がC列となっていれば、C1は DATEDIF(A1,B1-1,"M")+1 といったようにB1から1を引いて、DATEDIFの結果に1を足すと良いと思われます。 ご確認ください。 7日間や15日間も必要であれば、 =IF(B1-A1<8,"7日間",IF(B1-A1<16,"15日間",JIS(DATEDIF(A1,B1-1,"M")+1)&"ヶ月間")) でいかがでしょうか。
その他の回答 (2)
- maruru01
- ベストアンサー率51% (1179/2272)
こんにちは。maruru01です。 回答をした張本人です。 回答した時点では気づいていませんでした。 気づいたときには締め切った後で・・・。 正解としてはNo.1の人のように、 DATEDIF(A1,B1,"M") を、 DATEDIF(A1,B1-1,"M") に変更して下さい。 惑わせてしまって、申し訳なかったです。
お礼
いやいや、皆さんの回答を見てると本当に難しいのがよくわかりました。 現実問題として、2003/6/30~2003/7/31はやっぱりこの数式では2ヶ月となるんですよね。でも保険の世界では1ヶ月なんです。 保険の世界の期間計算はエクセルでもカバーできないことがよくわかりました。 わざわざありがとうございました。
補足
お礼の補足です うふふ、お楽しみに
- osamuy
- ベストアンサー率42% (1231/2878)
勘違いというよりも、月の計算をどのようにするかが問題なのでしょう(あるいは、DateDiffをどこまで信じるか、かも)。5/28-6/28と、2/28と3/28の日数は、同じじゃないですよね。それを人間は、同じひと月だと思てしまうところに、齟齬があるのではないかと。 じゃあどうすれば、良いかというと、日数の計算法を明確に定義するしかないでしょう。DateDiff()の値をそのまま受け入れるという手もありです。金銭計算がからまない限りは、DateDiff()の値で十分でしょうから。
お礼
保険料計算の期間規則の一つですので金銭が絡んでくるのです。ミスが許されない部分なので焦ってました。 確かに”月”の考え方って不思議ですよね。 昔の人たちはすごかったのだと思っときます(^^ゞ
お礼
ご回答、ありがとうございます。 早速やってみましたところクリアーできました。 私には数式の指す意味がよくわからず、恥ずかしい限りです。じっくり考えます。とりあえず助かりました。
補足
お礼の補足です。 中身は乞うご期待!