• ベストアンサー

エクセルの関数で

エクセルでパート社員の出勤簿を作ろうと思います。 8時間以内の給料は対象セル内を「=H○*時間給」で計算できるのですが、 8時間を越して残業代が加わるものの計算式が分かりません。 仮に時間給が900円で10時間働いた場合、900×8+900×2×1.25となりますが、 どの様な計算式を使用したらいいのでしょうか? ご回答 よろしくお願い致します。

質問者が選んだベストアンサー

  • ベストアンサー
  • hinebot
  • ベストアンサー率37% (1123/2963)
回答No.6

#4です。 >この「\7,200」を消す事は出来ないのでしょうか? IFを使うのが一番簡単でしょう。 「=(MIN(H5,8)+MAX(H5-8,0)*1.25)*900」 の式を =IF(H5="","",(MIN(H5,8)+MAX(H5-8,0)*1.25)*900) とすればOKです。 休日・未出勤日は何も入力されていない、と解釈してですが。

k2675
質問者

お礼

再度のご回答 ありがとうございました。 無事に解決しました。

k2675
質問者

補足

この欄をお借り致しまして・・・ ご回答頂きました皆様、本当にありがとうございました。 問題が解決しました事をご報告申し上げます。 以後、私の質問を見る機会がありましたら、 また 良きアドバイスを与えて下さいませ。 ありがとうございました。

その他の回答 (5)

  • mshr1962
  • ベストアンサー率39% (7417/18945)
回答No.5

#1,3のmshr1962です。 >これを踏まえて、「こうした方がいい・・・」というのがあれば、 時刻形式(シリアル値)から時間を求める場合は24倍するのが簡単です。 =(MIN(A1*24,8)+MAX(A1*24-8,0)*1.25)*900 ですね。 その上で10円単位切り上げなら =ROUNDUP((MIN(A1*24,8)+MAX(A1*24-8,0)*1.25)*900,-1)

k2675
質問者

補足

#5様のこの欄をお借り致しまして、ご回答下さった皆様にお礼を申し上げます。 ありがとうございました。 現在「=(MIN(H5,8)+MAX(H5-8,0)*1.25)*900」の計算式を採択していますが、 この方法だと、休日・未出勤日、全ての欄に「\7,200」が表示されてしまいます。 (勤務時間数がきちんと入っている所は正しく表示されています。 これはたぶん、「8*900」の基本計算部分だと思われますが・・・) この「\7,200」を消す事は出来ないのでしょうか? 月末に休日・未出勤日の「支給金額欄」をクリアする方法もあるのですが・・・ ご存知の方がいらっしゃれば、再度お知恵をお貸し下さいませ。 よろしくお願い致します。

  • hinebot
  • ベストアンサー率37% (1123/2963)
回答No.4

>「勤務時間」(計算時間の事です)のセルにはすでに、 >=FLOOR(E5-D5,TIME(0,30,0))の計算式が入っているのです。 でしたら、#2さんが指摘されているような端数の問題はないと思いますが。 あと、質問文の"H○"のセルに上記計算式が入っているのであれば、#1さんの >=(MIN(A1,8)+MAX(A1-8,0)*1.25)*900 のA1のところを =HOUR(A1)+MINUTE(A1)/60 の結果を入れるようにすれば良いと思います。 (ちょっと、力技ですが)

k2675
質問者

お礼

ご回答 ありがとうございます。

  • mshr1962
  • ベストアンサー率39% (7417/18945)
回答No.3

#1のmshr1962です。 #2の方が端数の問題を指摘していたので丸めの方法を追記します。 切り捨てなら =ROUNDDOWN(数式,0) 切り上げなら =ROUNDUP(数式,0) 四捨五入なら =ROUND(数式,0) 10円単位なら引数を-1、百円単位なら-2に変更してください。 50円単位のような10の倍数でない場合は =CEILING(数式,50) で切り上げ =FLOOR(数式,50) で切り下げ できます。 前のROUND関数で行う場合は =ROUND(数式*2,-2)/2 とすればできます。 時間も同様に設定できます。

k2675
質問者

お礼

度々ありがとうございます。 恐れ入ります。

k2675
質問者

補足

すいません・・・ 「勤務時間」(計算時間の事です)のセルにはすでに、 =FLOOR(E5-D5,TIME(0,30,0))の計算式が入っているのです。 これを踏まえて、「こうした方がいい・・・」というのがあれば、 再度アドバイスを頂けると嬉しいのですが・・・

回答No.2

=IF(H○<8,H○*900,IF(H○>=8,(H○-8)*(900*1.25)+8*900)) 考え方としては、上記のようにすれば良いと思います。ただし、分単位の端数が出る場合は、うまく入力しないと(1時間30分なら1.5のように)おかしくなります。

k2675
質問者

お礼

早速のご回答 ありがとうございます。 すぐに試してみます。

k2675
質問者

補足

すいません・・・ 「勤務時間」(計算時間の事です)のセルにはすでに、 =FLOOR(E5-D5,TIME(0,30,0))の計算式が入っているのです。 これを踏まえて、「こうした方がいい・・・」というのがあれば、 再度アドバイスを頂けると嬉しいのですが・・・

  • mshr1962
  • ベストアンサー率39% (7417/18945)
回答No.1

A1が時間として =(MIN(A1,8)+MAX(A1-8,0)*1.25)*900

k2675
質問者

お礼

早速のご回答 ありがとうございます。 すぐに試してみます。

関連するQ&A