関数の変更による給料計算の課題

このQ&Aのポイント
  • 現在、時間×時給で給料を計算しており、日給の計算に変更したい
  • カレンダーの範囲内の実働時間をカウントし、日給を計算することができない
  • 開始日と終了日に基づいて、実働時間を計算し日給を算出する方法についてアドバイスをお願いします
回答を見る
  • ベストアンサー

関数の変更

=IF(OR(AF4="",AG4=""),"",INT(SUMPRODUCT(($B$16:$B$46>=AF4)*($B$16:$B$46<=AG4)*($F$16:$F$46+$N$16:$N$46)*($G$16:$G$46)/"1:0"))-IF(AS4="",0,AS4)) 上の式を使い勤怠がらある範囲の給料を計算してるのですが、現在は時間×時給で計算させています。これを日給に使いたいので変更してるのですが、うまく出来ませんやりたい事は、 時間を足してる部分を時間単純にカウントさせたいのです。 AF4=開始日 AG4=終了日 B16:B46=カレンダー F16:F46=実働時間 F16~F46の部分をカウントさせ日給をかけさせたいのですが 条件の変更などがうまく出来ません よろしくお願いします。

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

  • ベストアンサー
  • keithin
  • ベストアンサー率66% (5278/7940)
回答No.1

N列やG列に何を入れて計算してるのか説明が足りてませんが、無視していいのかな? AS4もイミフメイです。 >やりたい事は、時間を足してる部分を時間単純にカウントさせたい 何を計算したいのかも説明不足ですが、ご説明を文字通りに読むと =IF(OR(AF4="",AG4=""),"",INT(SUMPRODUCT(($B$16:$B$46>=AF4)*($B$16:$B$46<=AG4)*($F$16:$F$46>0)))-IF(AS4="",0,AS4)) ぐらいになりますけど。

yomogi111
質問者

お礼

ありがとうございました。 うまくゆきました。

関連するQ&A

  • エラーが出ないような関数

    このような関数が書いてあるのですが、 IF(OR(AF4="",AG4=""),"",INT(SUMPRODUCT(($B$16:$B$46>=AF4)*($B$16:$B$46<=AG4)*($F$16:$F$46)*($G$16:$G$46)/"1:0"))) -IF(AS4="","",AS4)) AS4の値が空白の時エラーガでないようにしたいのですが うまくゆきませんどこが悪いのでしょうか。 よろしくお願いします。

  • このような式があるのですが、少数を計算したくないのですが、

    このような式があるのですが、少数を計算したくないのですが、 INTなどを どのようにしたらよいのか分らないので教えてください。 =IF(OR(AF4="",AG4=""),"",SUMPRODUCT(($B$16:$B$46>=AF4)*($B$16:$B$46<=AG4)*($F$16:$F$46)*($G$16:$G$46)/"1:0")) 初心者なので、このような質問の仕方でわかるでしょうか。 おねがいします。

  • 計算式の組み立てについて、教えてください!

    計算式の組み立てについて、教えてください! 下のような勤怠明細があります。 ・・A・・・・・B・・・・・・・・C・・・・・・・・D・・・・・E・・・・・・・F・・・・・・G・・・・・H・・・・・I・・・・・・J・・・・・・・K 15・・・・・日付・・・・出勤時間・・退勤・・休憩・・実働時間・・時給・・時間内・・時間外・・深夜・・基本賃金 16・・・・5月1日・・・・・9:00・・・・・12:00・・・1:00・・・2:00・・・¥850・・・¥1700・・・・・0・・・・0・・・・¥1700 現在AH4:AH7に下の式が入力されています。 =IF(OR(AF4="",AG4=""),"",SUMPRODUCT(($B$16:$B$46>=AF4)*($B$16:$B$46<=AG4)*$K$16:$K$46)) AF4とAG4には、5/1 ・5/6 のように日付が入力されます。 開始日と終了日を入れると その間の金額がAH4:AH:7出るようになってます。 これを単純に稼働時間(F16:F46)× 時給(G16:G47)にしたいのですが、つまり 時間外¥と深夜¥を引いた結果を出すようにかえたいのですが、 式の組み立てが上手くゆきません 教えてください。 お願いします。

  • エクセル関数 カウントの関数

    A列は「氏名」B列は「出身県」C列は「生年月日」のデータがあって、 20代・30代・40代はそれぞれ何人かカウントしたいときの計算式(2008年3月1日時点において) 20代の場合であれば (ROUNDDOWN(DATEDIF(【生年月日】,"2008/3/1","Y"),-1)=20)  =SUMPRODUCT(___________)の式に組み入れるだけ。 生年月日のデータ範囲が 【$C$2:$C$100】なら =SUMPRODUCT((ROUNDDOWN(DATEDIF($C$2:$C$100,"2008/3/1","Y"),-1)=20)*1) ★以前上記を教えていただきました、今回はこれにB列「出身県」別 をカウントするとき、どういう計算式にすればよいでしょうか。おしえてください。 ちなみに「出身県」は数字です。例えば、東京は1000としています。 出身県のデータ範囲が【$B$2:$B100】で、 =if($B$2:$B100=1000,SUMPRODUCT((ROUNDDOWN(DATEDIF($C$2:$C$100,"2008/3/1","Y"),-1)=20)*1),false)としてみましたが、 カウントできません。よろしくお願いします。

  • 入力がないときの 関数の修正は どうなるでしょうか?

    データの貼り付けレイアウト <Sheet2> 追加属性1 判定 E列 → 数値のみ X3:AF6 追加属性2 判定 F列 → 数値のみ X8:AF11 ****** 追加属性 で いままでのものに追加して 0 を 加えました。 具体的には  属性1 X3:XG3 12,35,3,26,28,32,15,19,4,0 X4:AF4 21,2,25,,17,34,6,27,13,36 X5:AF5 11,30,8,23,10,5 ,24,16,33 X6:AF6 20,14,31,9,22,18,29,7,1 属性2 は 省略します。 $AF$3 を $AG$3 までのばして =IF(COUNTIF(zokusei!$X$3:$AG$3,D2),"A",IF(COUNTIF(zokusei!$X$4:$AG$4,D2),"B",IF(COUNTIF(zokusei!$X$5:$AG$5,D2),"C",IF(COUNTIF(zokusei!$X$6:$AG$6,D2),"D","")))) としました。 元の式 ↓ <Sheet1> E2に =IF(COUNTIF(Sheet2!$X$3:$AF$3,C2),"A",IF(COUNTIF(Sheet2!$X$4:$AF$4,C2),"B",IF(COUNTIF(Sheet2!$X$5:$AF$5,C2),"C",IF(COUNTIF(Sheet2!$X$6:$AF$6,C2),"D","")))) 必要に応じて下方にオートフィル。 F2に =IF(COUNTIF(Sheet2!$X$8:$AF$8,C2),"AA",IF(COUNTIF(Sheet2!$X$9:$AF$9,C2),"BB",IF(COUNTIF(Sheet2!$X$10:$AF$10,C2),"CC",IF(COUNTIF(Sheet2!$X$11:$AF$11,C2),"DD","")))) 必要に応じて下方にオートフィル。 問題は 何も 入力してないときが 0に 対応している "A" が でてきてしまう。 これを 修正したいのですが・・・・ =IF(C2="","",……)を つかえばいいのだろうけど修正がうまく いきません。 よろしくおねがいします。

  • この場合の関数を教えてください。IF関数とCOUNTIF関数?

      A      B    C  D  F  G 1 12300 2 9800 3 14500 上記の様な表($a$1:$d$3) がある時、 B1 ◎      D1 △   F1◎     C2◎         F2△ B3△      D3◎ F1 に◎を入れた時に、 もし、A列の値が10000より大きいなら(注)、範囲$a$1:$d$3の◎の数を数え結果をG1に2と表示させたいです。(F2に△と入れたら2と表示) (注) 1行目は、12300(A1)なので1行目はカウントの範囲。 2行目は、9800で10000より小さいのでカウントの範囲から外れる。 3行目は、14500はカウントの範囲。 2行目の◎(C2)はカウントされないようにするには、 G1にどのようなCOUNTIFの関数を入れればよいのでしょうか? いつも教えているので、考えたのですが? =IF(A1>10000,COUNTIF($B$1:$D$3,F1),"0")では、間違いとは気づいたのですが? (A1>10000が間違い)どの様にして良いか解りません。 どなたか教えてください。宜しくお願いいたします。 (見にくい表で申し訳ありません)

  • 複数シート、複数条件でのSUMPRODUCT関数について

    こんにちわ。 SUMPRODUCT関数に挑戦していて上手くいかない点があるので教えていただけると助かります。 複数のシート(A,B,C)のそれぞれ同じセル範囲の中から、集計するシート内と一定条件に合致したものを抽出したいので、 =IF($A19=0,0,(SUMPRODUCT(($A19=A!$A$723:$A$769)*(A!$C$723:$AG$769))))+IF($A19=0,0,(SUMPRODUCT(($A19=B!$A$723:$A$769)*(B!$C$723:$AG$769))))+IF($A19=0,0,(SUMPRODUCT(($A19=C!$A$723:$A$769)*(C!$C$723:$AG$769)))) という式を作りました。3シート目位までは結果が正しく戻るのですが、途中でエラーが出てしまいます。全部で12シート分の条件にあったセルを合計したいのですが。 長すぎるのか、括弧のつけ方とかがあるのかと思うのですが、短くする方法がいまいちわからず困っています。 宜しくお願いします。

  • エクセルの関数の読み取り方を教えてください。

    エクセルで夜間の出勤時間の管理をしております。 以前在籍しておられた方が作られたようなのですが 関数初心者の私では読解するのが困難なので お教えいただきたく投稿しました。 完成されてる表を掲載できればいいのですが・・・ 関数を掲載させていただきますので その関数の読み取り方をお教えいただければ幸甚です。 A列 日付 B列 始業時間 C列 終業時間 D列 計算用退勤表記 E列 拘束時間 F列 労働時間 G列 深夜労働時間 H列 残業時間 I列 普通勤務 J列 深夜勤務 K列 普通残業 L列 深夜残業 D列 =IF(COUNT(B5:C5)=0,0,C5+IF(C5<=B5,"24:00",0)) F列 =IF(E5-$B$37<0,0,E5-$B$37) G列 =IF(COUNT(B5:C5)=0,0,MAX(0,"5:00"-B5)-MAX(0,B5-"22:00")+MAX(0,D5-"22:00")-MAX(0,D5-"29:00")-$B$37) H列 =IF(F5-$B$38<0,0,F5-$B$38) I列 =IF(D5-B5-H5-G5-$B$37<0,0,D5-B5-H5-G5-$B$37) J列 =IF(I5=0,0,$B$38-I5) K列 =IF(F5-I5-J5-L5<=0,0,F5-I5-J5-L5) L列 =IF(G5-J5<=0,0,G5-J5) 基本休憩時間 2:00(=B37) 所定労働時間 8:00(=B38) 深夜終了時刻 5:00(=B39) 深夜開始時刻 22:00(=B40) 深夜労働時間 5:00(=B41) 当番休憩時間 1:00(=B42) 表の内容はこんな感じなのですが。 これでわかりますでしょうか? 基本の時間は20:00~7:00 です また、万一勤務時間が17:00~4:00の場合 どこの計算式がどのようにわかりますでしょうか? 文字の羅列になって申し訳ございませんが 宜しくお願い申し上げます。

  • 給料計算での時間のずれ

    給料計算なんですが、出勤時間‐退出時間、10分刻みで計算を出しいて、18時以降から時給が変わるんですけど、なぜか18:20と19:20退出の時だけ10分ずつ18時までの時給と18時以降の時給の所に振る分けられてしまいます。どうすればよいのでしょうか?18:21や19:21、20:20以降はちゃんと振り分けられます。 D列(850円時給)に=FLOOR(IF(AF4>=TIMEVALUE("10:00"),0,IF(AG4>TIME(10,0,0),TIME(10,0,0)-AF4,)),"0:10") E列(800円時給)に =FLOOR((AG4-AF4)-AH4-AK4,"0:10") F列(900円時給)に =FLOOR(IF(AG4>TIMEVALUE("18:00"),AG4-TIMEVALUE("18:00"),0),"0:10") 例 9:00~18:20 だと 1時間が850円、8時間10分が800円、10分が900円と振分けられてしまいます。本当は900円の所が20分にならなければなりません。 宜しくお願いいたします。

  • エクセル 関数の参照セルの変更

    ご教示お願いします。 =IF(C5=1,A5/B5,0)という式のC5の部分をD5,E5,F5・・・と変更したいのですが、式の中を手入力で変更するのではなく、他のセル(例えばセルA1)にD5,E5,F5・・・入力すると式C5の部分が変更されるようにしたいです。 例)セルA1にD5と入力すると関数=IF(C5=1,A5/B5,0)が=IF(D5=1,A5/B5,0)に変わるみたいにしたいです。セルA1にD5と入力するのが正しいやり方なのかはわかりませんが。

専門家に質問してみよう