私は式を書くことを試みています(つまり、vbaコードはvbaにインポートするので、指定した勤務時間で日付を計算します)。Excelスケジュールを時間と一緒に使用する
2つの主な変数があります。 作業時間(時間):その行の特定のジョブが何時間かかるかを指定します。 作業日(日付):そのジョブを開始する計画日です。
この計算は、数千の行に対して行われます。
今の数式は次のようなものです:workday(A2; Sum(A2:$ A $ 2)) 問題は、A2(時間単位の作業時間)は0から数1〜数百時間までの範囲である。 問題が分かるように、各行では合計数が増え、膨大な数になります。そして、もし私が開始日を修正しなければ、仕事時間は7時間以上、あるいは7時間を超えることがあるので、日付はほとんど決して正確ではありません。
ここでの主な目標は、各就業日の合計勤務時間が7時間を超えた場合に就業日を増やし、余分な時間または分を次の就業日に移すことです。
だから、このようになります。
作業時間---------------作業日
2 -------------------- ----- 2017年1月1日
4 ------------------------- 2017年1月1日
3 ---- --------------------- 02.01.2017
4 --------------------- ---- 02.01.2017
2 ------------------------- 03.01.2017
勤務時間はVBAの別の部分から来ており、就業日は自動計算される必要があります。 (私は最初の開始日を与えるつもりです)
返信いただきありがとうございますが、これらの数式では、B列は2行増加するだけです。だから、もし私が5行(1,1,1,2,2時間のような)で7時間を取得したら、正しく動作せず、C列の式が正しくない。それはそれ自身を指しています。 – Bildircin13
あなたは正確に方向を正確に追跡していますか?このアップロードされたサンプルを見てみるとよいでしょう:https://docs.google.com/spreadsheets/d/13HXGzG60Jyom3AOrpqjbpSweQO6C63fzNhGkXKWZq5Q/edit?usp=sharing – curious
あなたが書いた数式は実際にはB3になるでしょう。 C4の場合、A列の「作業時間」が7以上の場合はどうなりますか?あなたが書いたBの数式では、それが7より大きい場合、直接書かれます。しかし、セルA5が22または100であっても、スケジュールに3つの就業日を加える必要があります。 – Bildircin13