- ベストアンサー
Excelでの日数計算、表示の仕方
Windows98、Microsoft Excel2000を使っています。 エクセルで料金計算のシートを作成していて、いつからいつまでという日数によって料金が違うので、日数を「2002/10/1」から「2002/10/5」までの「5日まで」というふうに計算して「5」という数字を表示させるようにしています。ここまではいいのですが、これが40日を過ぎるとさすがに「○日」という表示では分かりにくくなるので「1ヶ月まで」、「2ヵ月まで」と表示させたいのですが、出来るのでしょうか? 例えば、「2002/10/1」から「2002/12/1」までの「2ヶ月」というかんじで、今まで「何日」という日数を計算していたものを「何カ月」と出来ないでしょうか? “セルの書式設定→表示形式”のところで何かすればいいのでしょうか?? 説明がわかりにくいかもしれないのですが、宜しくお願いいたします。
- みんなの回答 (4)
- 専門家の回答
質問者が選んだベストアンサー
再びNo.1のShadowMoonです。 =IF((C3-B3)<40,C3-B3 & "日まで",MONTH(C3-B3)-IF(DAY(C3)<=DAY(B3),1,0) & "ヶ月まで") としてみてはいかがですか?
その他の回答 (3)
- imogasi
- ベストアンサー率27% (4737/17069)
Datedif関数を使うのはいかがですか。 A1に先の日付、B1にスタート日付、C1に =IF(DATEDIF(B2,A2,"m")=0,DATEDIF(B2,A2,"d"),DATEDIF(B2,A2,"m")+1 & "か月まで")を入れる。 歴1月未満の時は日数、1ヶ月を越えると+1「か月まで」 と出しています。 1年超などテスト不十分ですが、取りあえず宜しく。
お礼
回答ありがとうございます。こういう関数もあったんですね。なにぶん普段使っている関数が2~3個なのでそれ以外は名前は聞いたことはあっても入力の仕方がわからなくて全く使いこなせていません。今後の参考にもなり、とても勉強になりました。何度もありがとうございました。
- imogasi
- ベストアンサー率27% (4737/17069)
Vlookup関数の利用はどうですか。 1年間で良いなら (E列) (F列) 0 1か月まで 30 2か月まで 60 3か月まで ・ ・ 330 12か月まで A列に日数が入っているとして B1に=if(a1<31,a1,vLookup(a1,$e$1:$f$12,2,True)と関数 式を入れる。A2以下行に複写する。 1ヶ月が各月バラバラなので、上記ではダメかもしれません が。却って良いケースもあるかもしれない。 月変わりを捉える方も考えてみます。
お礼
ご回答いただきありがとうございました。この方法も考えたのですが、各月の日数がばらばらなので、どうすればいいかわからず質問させていただきました。説明不足で申し訳ありませんでした。また宜しくお願いします。
- ShadowMoon
- ベストアンサー率59% (73/122)
こんにちは。下記の方法ではいかがでしょうか? はじめの日付が入っているセルをC3、最後の日付が入っているセルをD3と仮定して、日数を表示するセルに =IF(C3-B3<40,C3-B3 & "日まで",MONTH(C3-B3)-1 & "ヶ月まで") という計算式を入力し、 “セルの書式設定→表示形式”を標準にしておく。 ご参考になれば幸いです。m(__)m
お礼
早速のご回答ありがとうございました。教えていただいた計算式でやってみたらうまくいきました!うれしいです!!ありがとうございました。 それでずうずうしくさらに質問してもいいですか? 今、うまく”○ヶ月”と入るようになったのですが、10月1日から12月1日までは「2ヶ月まで」でいいのですが、これを10月1日から12月2日までになったときには「3ヶ月まで」にしたいのですけど、良い方法があれば教えてください。 お礼だったのにすみません、宜しくお願いします。
お礼
しつこい質問にお答えいただいてありがとうございました。無事解決し、自分の希望通りに表示することが出来るようになりました!本当にありがとうございました。