重要なお知らせ

「教えて! goo」は2025年9月17日(水)をもちまして、サービスを終了いたします。詳細はこちら>

【GOLF me!】初月無料お試し

こんにちは。とある、社員さん(他社へ派遣している)の派遣先へ出す請求書の請求金額を出す、計算シートを作成しています。
毎月、20日には【見込み時間】として勤務表がFAXで送られ(20日~月末までの分)25日には見込み請求として請求しています。
そして翌月の頭に、【実績時間】として本当に稼動した勤務表がFAXできます。その差額を同じく25日に請求しています。

この社員の規定は以下の通りです。

基本140h~180hまでは基本時間内として定額支給とする。
  180h以上の時間は0.5h単位で超過精算とする。
例:【一月見込み時間】 188.0h(式:見込み時間-180h)
  ※結果、180h越してる分8hを定額にプラスして精算する。
  【一月実績時間】 182.0h
  (式:実績時間-見込み時間、ただし180hに満たないときは”0”   と表示したい)
  ※この場合、見込み時点で8h超過分を支払済みなので、
   実績が180h越したとしても過払いしていることになる。
   だから、差額の6hを控除することとなる。

以上を踏まえた、エクセルにて計算式を作成することは可能でしょうか?
説明がわかりにくかったら申し訳ありません。どうぞ、よろしくお願い致します。

A 回答 (4件)

140以下のことが記載されてないので140以下にはならないものとします。


一月見込み時間を X 、
一月実績時間を Y とすると、以下のパターンが考えられる。
(1)X、Y共に180以下 (2)Xが180超 (3)Yが180超 
(4)共に超でX>Y (5)共に超でX=Y (6)共に超でX<Y
この場合、MAX(X,180)とMAX(Y,180)の差を求めるとIF関数よりわかりやすい。
まず、見込みの超過時間は、=MAX(X,180)-180
これで180以下の場合は0になる。
また、実績後の清算は、=MAX(Y,180)-MAX(X,180)とした場合、
(1)(5)では当然0となる。
(3)(6)では結果がプラスで出るのでその分清算
(2)(4)では結果がマイナスで出るのでその分控除
あとは表示のさせ方を工夫すればよいでしょう。


もし、140時間以下も同額で0.5h単位で清算するのであれば、
見込みの不足時間は、=140-MIN(X,140)
=MIN(X,140)-140とすれば負ででるので、上の場合と合わせると、=MAX(X,180)-180+MIN(X,140))-140
簡略化して、=MAX(X,180)+MIN(X,140))-320
(プラスで出たら超過時間、マイナスは不足時間)
実績後の清算は、=MIN(Y,140)-MIN(X,140)
上の場合と合わせると、=MAX(Y,180)-MAX(X,180)+MIN(Y,140)-MIN(X,140)
(プラスで出たら清算、マイナスは控除)

以上、IF関数では場合分けがややこしくなるのが、これなら足し算引き算だけになります。
ちなみに見込120h、実績200hは(200-180)+(140-120)で40と表示されます。
    • good
    • 0
この回答へのお礼

ご回答下さいましてありがとうございます。
大変、解りやすく指示通りに作成しましたら、超過分(180h以上)、控除分(140h以下)ともに、正しく計算されました。min maxを使うと便利なのですね。回答者様のお陰で月々に計算が楽になりました。
min maxを詳しく調べ勉強してみます!
本当にありがとうございました。

お礼日時:2009/02/03 13:39

No.1,2です。



> 完璧マスターを読んでわかりました。
(見込み時間>=140,0,"基本時間未満")
            ↑
  ここには、見込み時間-140)となるんですね!

いえ、見込み時間が140hより大きい場合は、「0」(前半の式で、180hより小さいことが分かっているので)
そうでなければ(140hより小さい場合は)「基本時間未満」と表示しなさい
という式です。(140h以下の場合についての記述がなかったので、勝手にそのように表示させることにしました。)

別の表現をすれば、
前半は、180hを超えた場合の計算で、後半は、見込み時間が規定の180h-140hかどうかを判定し、180h-140hであれば、「0」そうでなければ、「基本時間未満」と表示して、別の処置を促そうとするものです。
    • good
    • 0

No.1です。



すみません。140時間以下の場合を考慮していませんでした。

「見込み時間による清算時間」 =IF(見込み時間>180,見込み時間-180,0)
を次のように変更してください。

「見込み時間による清算時間」 =IF(見込み時間>180,見込み時間-180,IF(見込み時間>=140,0,"基本時間未満")

「IF関数 完璧マスター!」
http://kokoro.kir.jp/excel/if.html

この回答への補足

早速のご回答、ありがとうございます!
ところで、この→140,0,"基本時間未満")の”基本時間未満”には140hと180hのどちらが入るのでしょう?
今から、添付していただいた完璧マスター、を読んでみます。

補足日時:2009/02/03 11:43
    • good
    • 0
この回答へのお礼

完璧マスターを読んでわかりました。
(見込み時間>=140,0,"基本時間未満")
            ↑
  ここには、見込み時間-140)となるんですね!

助かりました。本当にありがとうございました。

お礼日時:2009/02/03 12:04

ご質問が何か分かりませんが、文章から次のような計算をしたいのかな?と思います。



「見込み時間による清算時間」 =IF(見込み時間>180,見込み時間-180,0)

「実績時間による清算時間」 =実績時間-見込み時間
    • good
    • 0

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