- ベストアンサー
エクセルの給与計算、各時間帯の合計について
煮詰まってしまったので教えて頂けると助かります。 エクセルで給与計算表を作成しているのですが、 3つほど勤務時間ごと(というか時給ごと)で一度各合計を出しています。 (1)9:00~17:30→9:00をA1、17:30をA2に入力、時間のセルA3には8:30と 表示されるようにしています。 この時間×時給(A4とします)=で金額が出るよう計算しているのですが、 (1)の計算式は(A3*A4)*24という計算式が入っています。時給が950円なので、 合計は8:30×950円=8,075円です。(お昼休憩時間も給与が支給されるので休憩分の引き算はナシです) (2)に17:30~17:45、時給は同じく950円で、この場合0:15×950円で238円となるよう計算しています。 このような感じで一ヶ月の合計を縦計で=SUM(月の初め:月の終わり)で の数式で出してみたのですが、どうも四捨五入されてしまうようなのです。 (例:\1,427が\1,425と表示されてしまいます) セルの書式設定を色々試して入力してみましたが、ダメでした。 おそらくROUNDで計算するのだろうという答えが出ましたが、 恥ずかしながら数式がよく分かりません。 どなたか詳しく分かる方がいましたら教えて頂けると助かります。 よろしくお願い致します。
- みんなの回答 (9)
- 専門家の回答
質問者が選んだベストアンサー
これまでに計算されてきた値はすべて四捨五入の計算となっています。SUMで求めた値とそれぞれの時間と時給を掛けて求めた値の足し合せで求めた合計にはずれが生じることもあります。 それを避けるためには時間と時給を掛ける計算の段階で、例えば小数点以下の数字は切り捨てにするなどの操作が必要でしょう。 例えばA2セルに時間があり、A3に時給のある計算では=ROUNDDOWN(A2*24*A3,0)のように入力します。引数の0は小数点以下の値を切り捨てにする場合です。0を-1とした場合には1の位の数値を切り捨てにすることになります。
その他の回答 (8)
- ro-chan
- ベストアンサー率38% (45/116)
=ROUNDUP((VALUE(HOUR(A3)+ROUNDUP((MINUTE(A3)/60),1)))*a4,0) 1番目のROUNDUPは、時給計算の切り上げ(整数) 2番目のROUNDUPは、勤務時間の切り上げ(小数点1位) ご希望のものはできますでしょうか?
お礼
無事解決いたしました! とても勉強になりました。 色々未熟で、申し訳ありませんでした; もっと勉強致します(--;) 有難うございました。
- Sinogi
- ベストアンサー率27% (72/260)
>(2)に17:30~17:45、時給は同じく950円で、この場合0:15×950円で238円となるよう計算しています。 見た目は238円ですが、丸め処理をしていなければ 237.5 です。 この15分労働が1日で完結すれば238円になると思います。 2日なら 238+238=476ですね。 しかし、1日の小計単位ごとに2回発生すれば 237.5+237.5=475になります。 同じ労働時間でも分割すると給与が1円変わることになります。 一般には1日単位で数値を丸めると思いますので、1日の小計全てにRound処理することになると思いますが、会社の判断もあると思います。 適切な位置で数値丸め(Round処理)してください
お礼
無事解決致しました。 とても勉強になりました。感謝です。 有難うございました!
- ro-chan
- ベストアンサー率38% (45/116)
度々すみません。 =ROUNDUP((VALUE(HOUR(A3)+MINUTE(A3)/60))*a4,0) で、1回で答えが出るようです。
お礼
無事解決致しました。 有難うございました。
- ro-chan
- ベストアンサー率38% (45/116)
8:30 がシリアル値になっていると思われます。 任意のセル(例えばA5)に、 =HOUR(A3)+MINUTE(A3)/60と入力し、書式を標準にしますと、8.5になります。 その後、=roundup(A5*A4,0) と計算させますと、繰り上げの結果が出ると思います。
お礼
無事、解決です! 本当に有難うございました。 感謝致します!!!
補足
すみません; 経理のお局様(汗;)より、 8時間30分は 8.5 ではなく 8:30と表示するように言われています・・・。ああ・・・
- kickknock
- ベストアンサー率31% (207/661)
A5セルに、 =ROUNDUP(A4,0)に訂正 一円単位を上げるなら1を入れる。 1427円→1430円 2を入れると 1427円→1500円 roundの場合は 1427→1400 1の場合 1427→1430 0の場合
お礼
無事解決致しました! 有難うございました。 勉強になりました。感謝です。
- kickknock
- ベストアンサー率31% (207/661)
A5セルに、 =ROUNDUP(A4,1)を入れて 合計金額セルにsumを使用すれば解決。 小数点以下を切り下げるのか、上げるのかは店の判断です。 今回は切上しています。 下げるならupをdownに。 四捨五入ならupを削除すればOK
お礼
無事、解決しました。 色々と勉強になりました。 心より感謝致します! 有難うございました。
補足
すみません!描き方思い切り間違っていました; で、教えて頂いた数式でちゃんと計算できました。 でも、一ヶ月分の合計がやはり違ってきてしまいます。 例えば(2)の時間帯の給与計算ですが、 A1 B2 C3 D4 E5 開始時間 終了時間 実働時間 時 給 金 額 17:30 17:45 0:45 950 238 17:30 17:45 0:45 950 238 17:30 18:00 0:30 950 475 17:30 17:45 0:45 950 238 17:30 17:45 0:45 950 238 E5の列にはそれぞれ =ROUNDDOWN(A3*24*A4,1) と入れています。 で、E5の縦計の合計(例→ E3からE30の合計の数式を =SUM(E3:E30) と入れると、金額が違ってきてしまいます。 合計が手計算だと 1,427 になるのですが 1,425 になってしまいます。 =SUM(E3:E30) の計算式も違っているのでしょうか・・・;
- ro-chan
- ベストアンサー率38% (45/116)
四捨五入ではなく、切り上げたいのなら、 =roundup(8:30×950円,0) で、切り上げてから、sum関数を使ってはいかがでしょうか? 質問の意図と違いましたら、ごめんなさい。
お礼
無事解決しました。 最初、よく意味が分かっていなくて、 大変申し訳ありませんでした; とても勉強になりました。 有難うございました。
補足
回答ありがとうございます。 1の方のように数式を入れましたら、今度は 337 と表示されてしまいました;
- ro-chan
- ベストアンサー率38% (45/116)
四捨五入ではなく、切り捨てで出すと言うことでよいのでしょうか? =rounddown(8:30×950円,0) で、切り捨てて、sum関数を使ってはいかがでしょうか?
お礼
無事解決致しました。 こちらで質問して、色々勉強になりました。 本当に有難うございました!
補足
早々の回答ありがとうございます。 今数式を入れてみたのですが、 336 と表示されてしまいました。 A1に時間 8:30 A2に時給 950 と入っていて、 =ROUNDDOWN(A1*A2,0) と数式を入れてみましたら、336となってしまいました。 もしかしてこれは、そのまま =rounddown(8:30×950円,0) と入力すればでよかったのでしょうか?
お礼
有難うございます!!!無事、解決しました。 (これで明日、胸をはってお局様に・・・) 本当に有難うございました。