2017-03-21 5 views
0

これに対処した回答のある質問のアーカイブには何も見つかりません。 私はExcelでうまくいくが、これは私をイライラさせている。 私は、オフィススタッフが定期的な営業時間、営業時間、各種の有給休暇の追跡に使用するツールの改善に取り組んできました。 私はすべての点で素晴​​らしいスタートを持っていますが、会社の支払い期間が2ヶ月間(1月15日と16日はEOM)であるため、が自動的にになります。 )は2つの支払い期間にわたっています。 曜日(月曜日= 2、火曜日= 3など)を示す列があり、Day列を見て、Day2-Day6時間のすべてのインスタンスを計算してOTを取得する方法を見つけようとしていました現在の賃金期間に支払うべき時間(もしあれば - その式がある)新しい賃金期間が月曜日に始まらない場合は、新しい賃金期間の始めに後方を見る必要があります。 スプレッドシートには、前払い期間と、現在の支払い期間がレイアウトされています。
私は何かアドバイスをいただければ幸いです。 は素敵な一日を - リンダExcel VBA - OT 2時間の支払い期間 - 自動計算方法

ここではデータです:

DayofWeek; Date; StartTime; EndTime; Lunch; [email protected]; FringeType; FringeHours; TotalPayHours; WeeklyOTHrs (these are the column headers) 
5 Thursday, March 16, 2017 7:30 17:00 1 8.50 8.50 
6 Friday, March 17, 2017 8:00 16:30 0.5 8.00 8.00 12.00 
2 Monday, March 20, 2017 7:30 17:00 1 8.50 H 8 16.50 
3 Tuesday, March 21, 2017 8:10 16:30 1 7.33 7.33 
4 Wednesday, March 22, 2017 8:00 17:00 1 8.00 V 8 16.00 
5 Thursday, March 23, 2017 8:00 17:30 0.5 9.00 9.00 
6 Friday, March 24, 2017 7:40 17:00 1 8.33 8.33 1.17 

私は今、OT細胞内で式を有する:ここでは

=IF($B30=6,IF(SUM(G26:G30)>40,SUM(G26:G30)-40,""),"") 
+0

こんにちは、あなたはいくつかのデータを含めることができますし、あなたの出力があなたの質問のように見えると思いますか?私たちはあなたの問題を再現できるならば、我々は:) – CallumDA

+0

曜日の\t日\t開始時間\t終了時間\tランチ労働@ \t時間\tフリンジタイプ\tフリンジ・アワー\t合計有料時間\t週刊OTアワーズを助けることができるはずです2017年3月16日(木曜日)\t 7時30分17時\t 8.50 \t \t \t 8.50 \t 2017年3月17日(金曜日)\t 8時午後04時30分\t \t 0.5 \t 8.00 \t \t \t 8.00 \t 12.00 2017年3月20日(月曜日)\t 7時30 \t午後05時00 8.50 \t H 16.50 \t 2017年3月21日(火曜日)\t 8:10 \t午前16時30分 7.33 \t \t \t 7.33 \t 2017年3月22日(水曜日)午前8時\t \t午後5時00分午前8時午後05時30分\t \t 0.5 \t 9.00 \t \t \t 9.00 \t 2017年3月24日(金曜日)\t 7:40 \t 17 V 16.00 \t 2017年3月23日(木曜日)8.00 \t :00 8.33 \t \t \t 8.33 \t 1。17 私は今OTセルの数式を持っています:= IF($ B30 = 6、IF(SUM(G26:G30)> 40、SUM(G26:G30)-40、 "")、 "") – LHarper

+0

申し訳ありませんが、私はテーブルに貼り付ける方法を知らない。 – LHarper

答えて

0

は役に立つかもしれません2つのオプションが両方とも、ありますSUMIFS関数を使用します。最初のオプションではコードは少なくて済みますが、それぞれのピリオドの開始日と終了日がデータテーブル外のセルで定義されている必要があります。

オプション1 あなたは各給与期間の合計で唯一の興味なら、あなたはOTの列をスキップし、代わりに、データテーブルの外に合計を計算することができます。ここには3つの列しかない例があります。 B3及びB4細胞で指定されるように、それらが前の期間の日付範囲内にある場合

=SUMIFS($C$12:$C$33,$A$12:$A$33,">="&$B$3,$A$12:$A$33,"<="&$B$4) 

SUMIFS和列Cのすべての値:スクリーンショットでは、B5は、以下の数式を含みます。

B7とB8セルで定義されている。同様に、B9は、現在の期間の計算式が含まれています

=SUMIFS($C$12:$C$33,$A$12:$A$33,">="&$B$7,$A$12:$A$33,"<="&$B$8) 

Total sums separate from data table. Static date reference.

オプション2 あなたは蓄積 OTを追跡する場合OT列を保持し、上記の式のバリエーションを追加することができます。この例では、期間の開始と終了を定義する2つの余分な列を追加しました(これにより数式がよりきれいになります;余分な列を必要としない場合は、列Dの数式にこれらの数式を組み込むことができます)。このスクリーンショットで

、D3は、以下の数式を含む:

=SUMIFS($C$3:$C3,$A$3:$A3,">="&E3,$A$3:$A3,"<="&F3) 

これは、本質的にオプション1と同様の式が、それぞれの行の範囲が増加され、D4が含まれるように:

=SUMIFS($C$3:$C4,$A$3:$A4,">="&E3,$A$3:$A4,"<="&F3) 

また、期間の開始日と終了日は動的で、列EとFに含まれます。数式では、現在の日付が月の最初または後半にあるかどうかをチェックし、それに応じて開始日と終了日を調整します。

開始日(セルE3):

=IF(A3<=DATE(YEAR(A3),MONTH(A3),15),DATE(YEAR(A3),MONTH(A3),1),DATE(YEAR(A3),MONTH(A3),16)) 

終了日(セルF3):

=IF(A3<=DATE(YEAR(A3),MONTH(A3),15),DATE(YEAR(A3),MONTH(A3),15),EOMONTH(A3,0)) 

Accumulated total. Dynamic date references.

注:あなたが余分な列を回避したい場合、あなたは組み込むことができます列EおよびFがDに入るので、セルD3は以下を含む。

=SUMIFS($C$3:$C3,$A$3:$A3,">="&IF(A3<=DATE(YEAR(A3),MONTH(A3),15),DATE(YEAR(A3),MONTH(A3),1),DATE(YEAR(A3),MONTH(A3),16)),$A$3:$A3,"<="&IF(A3<=DATE(YEAR(A3),MONTH(A3),15),DATE(YEAR(A3),MONTH(A3),15),EOMONTH(A3,0))) 
+0

あなたの素早い返信をありがとうございました。私はこれらのオプションの両方を見て、どのように私が運賃を知っていることをお知らせします! – LHarper

+0

これは、英語以外のバージョンのExcelでのみテストしたことに注意してください。上記の数式は手動で変換されるため、トラブルに遭遇した場合には、入力ミスに注意してください。 – Egalth

関連する問題