- ベストアンサー
エクセルの期間計算について
期間を算出する数式かVBAを教えてください。 (1)2003/5/28~2003/6/27 = 1ヶ月間 (2)2003/5/28~2003/6/28 = 1ヶ月間 (3)2003/5/28~2003/6/29 = 2ヶ月間 と言う結果を出せるようにしたいのです。 どうしても(2)が2ヶ月になってしまいます。 て、言うかそもそも可能なのでしょうか?
- みんなの回答 (4)
- 専門家の回答
質問者が選んだベストアンサー
>A1とB1がブランクなら”7日間”と表示されるのですね。それが消せたら最高なのですけども それなら、もう1つIFを入れて、 =IF(OR(LEN(A1)=0,LEN(B1)=0),"",IF(B1+1-A1<=7,"7日間",IF(B1+1-A1<=15,"15日間",DATEDIF(A1,B1,"M")+1&"ヶ月間"))) でどうですか。
その他の回答 (3)
- maruru01
- ベストアンサー率51% (1179/2272)
こんにちは。maruru01です。 A1とB1に日付が入力されているとすると、 =IF(B1+1-A1<=7,"7日間",IF(B1+1-A1<=15,"15日間",DATEDIF(A1,B1,"M")+1&"ヶ月間")) でよろしいですか。
補足
ご回答ありがとうございます。 最後の&"ヶ月間"を除けばきれいに計算できました。 多謝多謝です。 ただ、A1とB1がブランクなら”7日間”と表示されるのですね。それが消せたら最高なのですけども・・・ でも、本当にありがとうございました。助かりました! 間違って補足に書いてしまいましたが、御礼です!!!
- arukamun
- ベストアンサー率35% (842/2394)
(1)がA1セル 2003/5/28がB列 ~がC列 後の日付がD列 =がE列 F1セルを =JIS(DATEDIF(B1,D1-1,"M")+1)&"ヶ月間" として、F2セルとF3セルにコピーして見てください。
補足
ありがとうございます。 おっしゃるとおりでできました!! しかし、実はまだ条件があったのを忘れておりまして・・・。 すごい申し上げにくいことなのですけども・・・ 実は、 7日以内の期間なら” 7日間” 15日以内の期間なら”15日間” とも表示できるようにしたかったのです。 せっかくお答えいただきながら、更なる我儘を 申し上げて本当に申し訳ありません。 出来れば、で結構ですので宜しくご教授下さい。
- Hageoyadi
- ベストアンサー率40% (3145/7860)
Datedif関数?
お礼
DATEDIF関数だと思っているのですが、私の知能では 解決できませんでした。 救いの手をさしのべていただきありがとうございました。
お礼
パーフェクトです!『LEN()』という文字列を返す数式があるのですね。すごいっす。感謝っす。御礼はポイントで・・・ (^ー^)ノ