1

2 つのファイルがあります。ファイル #1 には、顧客の需要情報が含まれています。私にとって重要な列は 3 つだけです。
Part# Demand Qty Demand Date ファイルには数千行あります。

ファイル#2 は、MRP 設定の詳細を含む私自身のファイルです: 列には日付 (週単位) のラベルが付けられています。各部品について: 次の行があります: 需要入荷在庫 正味在庫

私の一般的な考えは、部品番号で両方のファイルをフィルタリングし、コード「sumif」で週ごとの総需要を取得し、それを顧客ファイルから対応する需要行のファイルにコピーできるというものでした。次に、すべての部品番号に対してこれをループします。

私のスプレッドシートでは部品番号が常に追加/削除されています (新しいプロジェクトが開発され、古いプロジェクトが段階的に廃止されるため)。そのため、ファイルが新しい部品で更新されるときにコードを保守する必要がなければ理想的です。

4

1 に答える 1

1

SUMPRODUCT 式を使用して、これらの数値をコードなしで取り込むことができるようです。この例では、同じワークブックで 2 つのシートを使用しているため、ワークブックごとに少し調整する必要があります。Sheet1 には、rngPartNum、rngDemandDate、rngDemandQty と名付けた 3 つの範囲があります。データと共に拡張される動的範囲名を使用しましたが、十分な数の行をカバーするセル参照を使用できます。データはこんな感じ

PartNum Demand Qty  DemandDate
1           18          3/28/2011
1           6           3/30/2011
1           6           4/2/2011
2           18          3/28/2011
2           6           3/30/2011
2           6           4/2/2011
2           16          3/28/2011
3           3           3/30/2011
3           15          4/2/2011
3           9           3/28/2011
3           18          3/30/2011

Sheet2 には、各行に週末の日付と部品番号があります。

Part    Week       Demand
1       4/1/2011    24
1       4/8/2011    6
1       4/15/2011   0
2       4/1/2011    40
2       4/8/2011    6
2       4/15/2011   0
3       4/1/2011    30
3       4/8/2011    15
3       4/15/2011   0

需要欄の計算式はこれ

=SUMPRODUCT((rngPartNum=A2)*(rngDemandDate<=B2)*(rngDemandDate>B2-7)*(rngDemandQty))

これは、rngPartNum が A2 と一致し、かつ rngDemandDate が B2 以下であり、かつ rngDemandDate が B2 の 1 週間前よりも大きい rngDemandQty のすべてを合計したものです。Sheet2 にすべての部品番号と十分な週数がある限り、合計は Sheet1 と一致するはずです。

于 2011-03-28T22:43:12.410 に答える