プロが教える店舗&オフィスのセキュリティ対策術

エクセル2000で、駐車料金の無料券があった場合と、無料券を遣わない場合の金額を求めたいのですが、
無料券は1時間300円で、一時間単位なのですが、実際駐車している時間は、分単位なので IF関数で、無料券を使用しない場合は IF(A2=0,C2*300)とここまではわかるのですが
その先が・・・A2~B4はここではお尋ねの主旨をご理解いただくために分を入れてありますが、
セルには数値のみです。C列の求め方教えてください。

 A      B     C
1 無料券 駐車時間 支払額
2 60分   112分   ?
3  0分    85分   ?
4 120分   91分   ?
 

A 回答 (4件)

0.99の意味を回答いたします。



1分の場合、時間に換算すると
1/60で
0.1666666・・時間となります。
1分以上切り上げですので、0.84~0.99を足すと切り上げ計算となりますよね?
ということで0.84でも良かったのですが、一般的な切り上げ計算の方法にならって0.99としています。
ちなみに単位が60分→120分になった場合は、
1/120で
0.0083333・・時間となりますので、切り上げ値は0.999となります。ご理解いただけたでしょうか?(説明べたですみません)
    • good
    • 1
この回答へのお礼

ありがとうございます。引っかかっていた物が取れたような気分です!
早々回答ありがとうございます。

お礼日時:2001/07/29 08:51

ashblueさんの回答でOKなのですが、ちょっと補足


させてください。

切り上げの件ですが、

CEILING

という関数があります。

=IF( B2-A2<0,0,CEILING((B2-A2)/60,1)*300)

と言った使い方をします。

切り捨てには、Floorと言う関数もあります。

Intとの違いは、Intは、整数への切り捨てしか
できませんが、Floorは指定した単位へ切り捨て
できるのです。

例えば、

■60分単位に切り上げ
=CEILING(B2-A2,60)
■60分単位に切り捨て
=FLOOR(B2-A2,60)

といったことができます。
    • good
    • 0
この回答へのお礼

初めて使う関数です。やってみました
ばっちりです(^。^)

お礼日時:2001/07/29 08:53

C1の関数


=IF(A1=0,(B1/60)*300,((B1/60)-1)*300)

。。。。合ってますか?
分単位での数値のままで計算したのですが・・
小数点以下の処理はしていません。
    • good
    • 0

質問内容と例があっていませんが、ようは支払額を求めるという意味で回答します。

(間違っていたら補足をお願いします。改めて回答します。)
尚、不明な点は以下のように解釈しました。
1時間の通常駐車料金=300円
駐車時間は60分単位(1分でもオーバーで1時間扱いとする)

C2に入る計算式は、
=IF( B2-A2<0,0,INT((B2-A2)/60+0.99)*300)
となります。
解説:
まず、無料券時間と駐車時間で無料券時間が多い場合は無条件に0円です。
駐車時間が多い場合は、駐車時間-無料時間で無料券分を差し引いた駐車時間を求めます。後は60分で割って時間に単位修正し、切り上げすると支払うべき駐車時間が求まります。
後は駐車時間×300円で完成!

この回答への補足

駐車料金は60単位(1分でもオーバーで1時間扱いとする)
でばっちりですが、
=IF(B2-A2<0,0,INT((B2-A2)/60+0.99←この0.99が理解に苦しんでおります。 う~ん余談になりますが、30分300円としたら、 30+0.99になるのでしょうか
よろしくお願いします。

補足日時:2001/07/29 00:18
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!