• 締切済み

給与計算の計算式について

給与計算の数式が分からずこまっています。 添付している写真のExcelにて給与計算ができるようにデータを作成しているのですが、I列の数式が分からずに苦戦しています。教えてください。 今の数式は  =IF(H10>$O$8,H10,IF(H10="","",H10)) です。 この数式だとI列は最大時間8:00なのに、10列のように13:00と表示されてしまいます。 10列の場合には、I10に8:00と表示されるように変更したいです。 H列がブランクの場合には、I列は0若しくは、ブランクが出るようにしたいです。 どなたか分かる方、ご教示ください

みんなの回答

  • tamao-chi
  • ベストアンサー率52% (457/875)
回答No.5

矛盾点 質問文 I10に8:00と表示されるように変更したい No1補足文 i10は、総勤務時間なので、13:00と表示されて良い 全体的に説明不足 補足でH10が計算式という事が解りましたが、ほかのセルも計算式では? 聞かれた部分のみ答えるのではなく、こういう場合はそれに関連するものすべての補足説明をしたほうが良いと思います。 矛盾点は無視します。 現在H10の計算結果が13なのですね? それを8に表示したいと? =IF(H10>$O$8,H10,IF(H10="","",H10)) これだと、13>8なので当然13を表示します。 =IF(H10="","",IF(H10<=$O$8,H10,8)) H10が空白の場合は空白、H10が8以下ならH10を表示、それ以外は8を表示

noname#204879
noname#204879
回答No.4

いきなりイケデャーシャーと補足しているけど、先ずは説明不足だったことのお詫びを述べてから、補足に進むのがマナーというものです。

ryou-mamapapa
質問者

補足

ご指摘ありがとうございます。 確かにおっしゃる通りです。マナー知らずというか、恥ずかしい限りです。申し訳ありません。

  • tamao-chi
  • ベストアンサー率52% (457/875)
回答No.3

画像が見えないし、説明文も不足でよくわかりません。 セルO8は何が入力されていますか? セルH10は何が入力されていますか? 察するに、 セルO8は数値8で、セルH10に数値13を入力してもセルIには8もしくは無記入ならば無表示にしたいということですかね? ならば、不等号が逆では? この関数では、「もし(H10がO8より大きければH10を表示、」 です。

ryou-mamapapa
質問者

補足

画像が見えないし、説明文も不足でよくわかりません。 セルO8は何が入力されていますか?  →08には、契約勤務時間の8:00を入力しています。 セルH10は何が入力されていますか?  →=IF(OR(D10="",G10=""),"",MAX(MIN(FLOOR(G10,"0:15"),"24:00")-CEILING(D10,"0:15")-IF(OR(F10="",E10=""),0,FLOOR(F10,"0:15")-CEILING(E10,"0:15")),0))という数式が入力されています。 察するに、 セルO8は数値8で、セルH10に数値13を入力してもセルIには8もしくは無記入ならば無表示にしたいということですかね?  →そうです。 ならば、不等号が逆では? この関数では、「もし(H10がO8より大きければH10を表示、」 です。

noname#204879
noname#204879
回答No.2

》 今の数式は  =IF(H10>$O$8,H10,IF(H10="","",H10)) です セル O8 のデータは何かを書かなくっちゃ!!

  • shintaro-2
  • ベストアンサー率36% (2266/6244)
回答No.1

>この数式だとI列は最大時間8:00なのに、10列のように13:00と表示されてしまいます。 ??? H10がO8を超えたらH10を表示なので、 最大8hという情報がどこから? それに10列とはどこ? 10行目のこと? 貼り付けられた画像では、i10はh10の値がそのまま表示されているように見えますが?

ryou-mamapapa
質問者

補足

>この数式だとI列は最大時間8:00なのに、10列のように13:00と表示されてしまいます。 ??? H10がO8を超えたらH10を表示なので、 最大8hという情報がどこから?  →契約勤務時間が8時間なので、O8には8:00と入力しています。 それに10列とはどこ? 10行目のこと?  →H10のことです。 貼り付けられた画像では、i10はh10の値がそのまま表示されているように見えますが?  →i10は、総勤務時間なので、13:00と表示されて良いのですが、その勤務時間の内訳をI10、J10、K10に記載されるようにしたいのです。  しかし、I10には8:00と記載すべきところ、現在の=IF(H10>$O$8,H10,IF(H10="","",H10))では、13:00と出てしまっているので、変更をしたいのです。

関連するQ&A

  • 給与計算について

    エクセル2000で給与計算をしたいと思っています。 時給は800円なのですが、勤務時間の端数(5分単位)が 30分より短い場合は切り捨て、30分以上だと400円と計算されます。 A列に日付、B列に開始時間、C列に終了時間、D列に勤務時間を入れました。 A列が日付の時、D列は C1-B1 という計算式をいれました。 月毎の合計勤務時間(D列)と合計金額(E列)を求めたいので A列に合計と記入して、 D6にはその月の勤務時間の合計を SUM(D1:D5) を使って計算し、 E6には IF(MINUTE(D6)<30,HOUR(D6)*800,HOUR(D6)*800+400) という数式をいれてみました。  A列が日付か合計かの判別は私自身がして、その行の数式を変えますので、  数式の中に含まれていなくてもかまいません。 このE6にいれた式では1ヶ月の合計勤務時間が24時間を越えた場合、 24時間以上の金額が無視されてしまうので困っています。 過去の質問も検索してみたのですが、勤務時間の端数のことまで 書かれておらず、自力で出した答えはE6の式にIF関数でDAYを確認させるという 恐ろしく長くて、面倒なものでした。 もし、もっと簡単な数式で月毎の金額が求められるようでしたら、教えていただけないでしょうか。 よろしくおねがいします。

  • excel 段階式歩合給与計算について教えて下さい。

    今月から段階式歩合給で指名回数により、異なった歩合を出さなくては なりません。昨日1日、調べて考え試しましたが、どうしても 出来ない所があり、行き詰まってしまったので教えてください。 個人売上が400,000万を超えた金額の部分にのみ、指名回数により段階的に 歩合給が発生します。(値によって掛け率が変動します) 指名回数   歩合率 0~5回     0% 6~10回     5% 11~20回    10% 21~30回    15% 31~80回    20% excel表は セル H4(個人売上金額)    J4(指名回数)    U4(歩合給発生金額) として、 J4(指名回数)    歩合率 0~5回までは   (H4-400000)*0 6~10回までは   (H4-400000)*0.05  11~20回までは   (H4-400000)*0.1 21~30回までは   (H4-400000)*0.15 31~80回までは   (H4-400000)*0.2 と、条件による上記計算式を下記のように列に出しました。 まず、 N4セルに =H4-400000  そして O4 =IF(H4>=5,$N4*0,"") P4 =IF(H4>=10,$N4*0.05,"") Q4 =IF(H4>=20,$N4*0.1,"")  R4 =IF(H4>=30,$N4*0.15,"") S4 =IF(H4>=40,$N4*0.2,"") さらに「この列からセルJ4(指名回数)に表示された値について、 各当する列の値をM4に返したい」というのが出来ません。 (5以下はO4の値、10以下はP4の値、20以下はQ4の値、30以下はR4の値、 40以下はS4の値、という数式をU4に表示する) また、H4の値が400000以下ならば歩合給はつかないので「0」を 表示させる。 (例) H4(個人売上)「403959」 J4(指名回数)が「35」の場合 (403959-400000)*0.2=791.8で U4に「792」と返したいのです。 また計算式間違い、もっと良い方法があれば教えてください。 どうか、よろしくお願いいたします。

  • EXCELの自動計算に関して

    調べても出てこなかった為、ここで質問させて頂きます。 EXCELでの計算表を作っているのですが、全体的に計算結果がおかしいです。 内容は添付資料を見て頂ければわかると思います。 たとえば、セルJ9:K9の計算結果ですが、 数式としては 「=IF(COUNTA(F9:I9)<>2,"",F9*H9)」 と入っており、単純にF9(24.9)とH9(3.8)を掛けるだけのものですが、 実計算だと94.62となり、四捨五入で94.5と表示されるのが正しいのですが、セルJ9の計算結果は「95.4」と表示されてしまいます。 他のセルも同様に計算結果がおかしくなっています。 このような計算値のズレを無くすにはどのようにすればいいでしょうか?

  • 【Excel】数式をボタン登録できますか?

    Excel2003を使用しています。 ある数式をボタンに登録して、必要なときにだけボタンを押すことで登録した数式を呼び出して、セルに入力することはできるでしょうか? 現在はH列とI列に下記の数式を入力しているのですが、H列、I列に直接数値を上書きすることも少なくないので、必要なときにだけボタンを押して下記の数式を入力できたら、このシート自体もスッキリするのではないかと思い、質問させていただきました。  H列→[=IF($E8="累 計",SUMIF($E$8:$E8,"月 計",H$8:H8),"")]  I列→[=IF($E8="累 計",SUMIF($E$8:$E8,"月 計",I$8:I8),"")] マクロを使用することで可能であれば、参考までにコードを記載していただけると助かります。 よろしくお願いします。

  • Excelの数式について教えてください。

    =IF(AND($A7="",$I7="",),"",IF($X7=$AA$13,IF(AND(NOT($A7=""),NOT($I7="")),$H7+$P7,IF($X7=$AA$13,IF(NOT($A7=""),$H7,IF($X7=$AA$13,IF(NOT($I7=""),$P7))))))) 何とか上記の数式を作ったのですが、 (X列、AA列は色々な店名が入力されています。)X列の店名が、AA列の店名に合致すると、正常に計算されますが、合致しないと"FALSE"が表示されます。 合致しない場合は、"FALSE"でなくセルを空白表示にしたいのでが、数式を教えてください。 Excel2003 セルの書式設定:X列、AA列は標準、他の列は数値です。この式はQ列に入力されています。 よろしくお願いいたします。

  • 計算式があると表示しないのか?

    N3が終了と表示されたら A列に 5/3が表示できるようにしたい(+1日後) B列が毎週なら、A列は(+7日後)を表示したい 現在 下記のような計算式が入っているのですが、動作しません。 その理由として、 N列には=IF(I1>0,"終了","未着手") B列は プルダウンで =$B$8:$B$9から選ぶようにしています つまり、I列によって 自動的に、終了か、着手が決まっています。 B列は私が手動でプルダウンで2つのいずれかを選んでいます。 このような計算式が入っていると下記のやり方では無理なのでしょうか? ------------- エクセルのシート名タブを右クリックしてコードの表示-現れたシートに下記をコピー貼り付けています Private Sub Worksheet_Change(ByVal Target As Excel.Range) Dim h As Range On Error Resume Next For Each h In Application.Intersect(Target, Range("N:N")) If h = "終了" Then If h.Offset(0, -12) = "毎日" Then h.Offset(0, -13) = h.Offset(0, -13) + 1 ElseIf h.Offset(0, -12) = "毎週" Then h.Offset(0, -13) = h.Offset(0, -13) + 7 End If End If Next End Sub

  • エクセルでの給与の計算式を教えてください

    会社の賞与計算をエクセルで行いたいのですが、級によって加算率が異なるので、うまく計算式が作れません。 (1)一律部分  給与月額+扶養手当+((給与月額+扶養手当)×12%) (2)職務加算部分  (給与月額+(給与月額×12%))×加算部分                   10、9級 20%                   8、7級  15%                   6級   10%                   5、4級  5% (3)管理職手当部分  給与月額×加算部分       10、9級 20%       8、7級 15% (4) (1)~(3)を足したものに支給率5.25をかけます。 仮に、A列に級、B列に給料月額、C列に扶養手当が入っているとして、D列に計算結果を表示するとなると、どのような計算式になるのでしょうか? 表を作ってそれにバッテングさせた方がいいのか、本を見ても解決方法が見つかりません。どなたかいい方法をご存知でしたら、教えてください!!

  • 給与計算について教えてください。

    すみません。 10分単位で給与計算した後、四捨五入をしたいです。 10分単位の計算のは下記の通りで出来ました。 =(DAY(勤務時間h:mm表示)*24+HOUR(勤務時間h:mm表示)+MINUTE(勤務時間h:mm表示)/60)*時給 例10:10労働 時給800円 計算後8133円→8140円と表示したい。 上記にROUNDを追加したいのですが、どのようにすればよでしょうか。 =ROUND(DAY(勤務時間h:mm表示)*24+HOUR(勤務時間h:mm表示)+MINUTE(勤務時間h:mm表示、1+1)/60)*時給 と入力するとエラーなく入力出来ますが、表示が8140円になりません;;。 すべての計算が終わった後に四捨五入をしたいのですが、どのように入力すればよいでしょうか。 教えてください。 よろしくお願いいたします。

  • Excel:損益計算の関数について

    Excel2010なんですが、「USDJPY相場」シート(画像右側)のB列の値を、「損益計算」シート(画像左側)のO列に反映させたいのですが。 ■01 「損益計算」シートのE列(年)とF列(月)、「USDJPY相場」シートのA列(年月)が一致した場合、「USDJPY相場」シートのB列(円/ドル)を「損益計算」シートのO列(損益)に表示したいのですが。 ■02 以下の関数は、「損益計算」シートのO列(損益)のものです。 内容は、「JPY」を含む場合は、利益(M列)または損失(N列)に100と取引数量(S列)をかけ、10,000で割る、それ以外の場合(JPY以外の場合)、「元データ」シートの損益(M列)に「設定」シートのドル/円(M列)をかける、です。 以下の関数内の「【】」内に「■01」の関数を入れたいんです。 =IF(元データ!L3="","",IF(ISERROR(SEARCH("JPY",J3,1))=FALSE,IF(M3<>"",M3,N3)*100*S3/10000,ROUND(元データ!M3*【設定!$E$2】,0))) ■03 画像が見づらい場合は、下記のURLをご覧ください。 http://ameblo.jp/miya-hn/entry-11919733343.html 説明が非常に下手で申し訳ありませんが、回答よろしくお願いします。

  • エクセル2003で勤務時間計算をしたいのですが、

    エクセル2003で勤務時間計算をしたいのですが、 現状は下記のように、H列の計算式が30分単位なのですが、 5分単位で給与計算して、小数点以下を切り捨てするには、 H列の計算式のどこを訂正するとよろしいでしょうか? ■現状(時給880円の場合) C列     D列     E列     F列     H列 始業時刻  終業時刻  休憩時間  実働時間  日給 10:00    17:30     0:45    6:45     5720円 H列の計算式 =IF(OR(C9="",D9=""),"",G9*HOUR(F9)+IF(AND(MINUTE(F9)>=0,MINUTE(F9)<=29),0,IF(AND(MINUTE(F9)>29,MINUTE(F9)<=59),G9/2,G9)))

専門家に質問してみよう