#2です(笑)
私もまたやってみました(^-^;)
で、hinebotさんが書いてくださった内容でちょっと疑問があったので、そこを解決しながら話を進めます。
>W20は普通残業手当の金額
>X20は深夜残業手当の金額 で
>Y20はW20とX20を足したものです。
>G20は単純に手入力する値です
とありますので、
>Y20も
>=IF(AC20="",0,ROUND(AB20*F20,0))としてだした結果になります。
はY20ではなくて、X20でいいですかね?
(私の方ではX20と判断して話を進めます。じゃないと「=IF(A20="一般",IF(Y20>=G20,0,G20-Y20),""」の式が普通残業深夜残業の合計との計算ではなくなっちゃいますから)
それを踏まえた上で、私の方では
A1に「=IF(A20="一般",IF(Y20>=G20,0,G20-Y20),"") 」
A20に「一般」
E20に「1000」(普通残業単価)
F20に「1200」(深夜残業単価)
G20に「25000」(手入力)
W20に「=IF(AC20="",0,ROUND(AA20*E20,0))」(普通残業手当計算結果 10000)
X20に「=IF(AC20="",0,ROUND(AB20*F20,0))」(深夜残業手当計算結果 12000)
Y20に「=W20+X20」(計算結果 22000)
AA20、AB20共に「10」
AC20に「計算する」
と入力しました。
>つまりYは普通残業手当と深夜残業手当を合計したもの(ちゃんと合計が表示されてます)
が、私の計算だと[22000]になります。
>で、そのYがある基準手当Gより大きかった場合はゼロ、そうでない場合はGからYをマイナス・・・というのが今回の式になります。
は、G20は[25000]で設定しているので、Y20の方が大きいので「G-Y」で[25000-22000]で、私のA1の結果は[3000]になっています。
G20を[20000]にすると、A1は[0]になります。
私の方ではなんだかうまく行っている気がします。
セルの参照の場所をもう一度確認した方がよさそうな気がしますね。
計算とかだとセル位置間違えただけで、全然違う答えになりますから(そして私はよくやります・・・)
そして循環参照ですが、「計算がぐるぐる循環してたり・・」という意味ではなくて、「数式が入力されているセル自体を直接的または間接的に参照している数式」という意味です。
参考URLではエラー確認方法なんかが載ってました。
もし参考になればみてみて下さい。
お礼
何度も何度もありがとうございます!!!!>< 違うセルにまったく同じ数式をコピペしたら正しく計算されているのでなぜだろう?!と思い・・・よーーーーくみてみると。。。 「=IF(A20="一般",IF(Y20>=G20,0,G20-Y20),""」 という今回の質問のこの式をいれるセルが AC20でした!!!!!!!!!!!!!(爆) つまり「AC20は無視しちゃってください」なんていってましたが、AC20じたいの式なのに、その中でWとXを求める時に「IF(AC20="",」という条件をいれてました・・・ ほんとオオバカの極みです(恥) 循環ってことのことなんですね・・・ お二方のアドバイスであれこれやってるうちに気がつくことができました。本当に感謝ですM(__)M