- 締切済み
関数…。
おはようございます。今、関数を使って画期的な方法は無いものかと考えているものがあります。もし、イイ方法があるのなら教えて下さい。 例えば、159:40という時間があります。これに、\1,265を掛けるとしたらどういう関数を組み込む事ができますか。基本は、30分を0.5という感じに考えるのが妥当なんですが、40分を変えると66.6666666となってしまうので…。 何かイイ方法はありませんか。
- みんなの回答 (5)
- 専門家の回答
みんなの回答
- KenKen_SP
- ベストアンサー率62% (785/1258)
>#2の方は30分単位の切り上げ・切捨てに"0:30"(=1/48=0.02083...)を使っていますがこの場合、誤差が表示ますので24倍してから0.5にしたほうが安全です。 mshr1962さま、ご教示ありがとうございます。が、EXCELで比較しましたが、この2つの方法において差は発生しないように思います。もっとも、テスト回数が少ないからかも知れません。私の考えでは、 EXCELで時刻の計算を行う場合、できるだけ数値にしないでシリアル値の形で計算した方が誤差が少ないかも? などと思っていたのですが、どうなんでしょう?(^^;) 結果としては、いずれの方法でも期待通りの結果を得られるのではないでしょうか? 質問主様、本題からそれてしまいました。申し訳ありません。
- mshr1962
- ベストアンサー率39% (7417/18945)
#1のmshr1962です。 "159:40"の場合は"6日"と"15:40"となりますが、日の部分が計算されません。 どうしても計算したい場合は24時間を超える部分を別計算する必要が生じます。 #2の方も言われてますが表示形式をユーザー定義で[h]:mmにすれば時刻にしても大丈夫です。 #2の方は30分単位の切り上げ・切捨てに"0:30"(=1/48=0.02083...)を使っていますが この場合、誤差が表示ますので24倍してから0.5にしたほうが安全です。
- neKo_deux
- ベストアンサー率44% (5541/12319)
> 40分を変えると66.6666666となってしまうので…。 関数の計算式が提示されないので、原因は分かりません。 159:40 を時と分に分け、 159 + (40/60) とすれば、 159.6666666… となり、 \1,265×159:40 =1265*159.6666666… =201978.33… と、計算できるハズです。 -- Excelで扱う場合は日単位にした方が扱いやすいですね。 159:40:00→6.6527777…[日] 時給\1,265→24時間給\30,360 \30,360×6.6527777 =201978.33… と、同じ計算結果が引っ張れます。
- KenKen_SP
- ベストアンサー率62% (785/1258)
横レス失礼します。 時給の給与計算でしょうか? >時刻で設定をすると159:40は、おかしな時間になってしまします。 まず、このセルの表示形式をユーザー定義で [h]:mm と設定します。 [h]とすることで、24時間を越える時刻が表示されるようになります。 さて、 A1セル[時刻] 159:40 B1セル[時給] \1,265 C1セル[支給額] とするなら、C1セルの計算式は =(A1*24)*B1 で求められます。このとき、C1セルの表示形式は標準や通貨、数値、会計などに設定します。 また、30分未満の端数処理が必要であれば 30分未満切り上げ =(CEILING(A1,"0:30")*24)*B1 30分未満切り捨て =(FLOOR (A1,"0:30")*24)*B1 となります。さらに、支給額の1円未満の端数処理を行うのであれば、 30分未満切り上げ・1円未満切り上げ =ROUNDUP ((CEILING(A1,"0:30")*24)*B1,0) 30分未満切り上げ・1円未満切り捨て =ROUNDDOWN((CEILING(A1,"0:30")*24)*B1,0) 30分未満切り捨て・1円未満切り上げ =ROUNDUP ((FLOOR (A1,"0:30")*24)*B1,0) 30分未満切り捨て・1円未満切り捨て =ROUNDDOWN((FLOOR (A1,"0:30")*24)*B1,0) となります。ご参考までに。
- mshr1962
- ベストアンサー率39% (7417/18945)
30分単位での計算なら 切り上げ=CEILING(時間*24,0.5)*1265 切り捨て=FLOOR(時間*24,0.5)*1265 6分単位の場合は0.5を0.1に変えてください。
補足
さっそくのご返答有難うございます。 CEILENGを使ってやってみたんですが、どうも金額があいません。159:40というのをセルに記入する際文字列で設定しているから駄目なんでしょうか。でも、時刻で設定をすると159:40は、おかしな時間になってしまします。どうしたらいいでしょうか。