シナリオは次のとおりです。
多くの店舗に出荷されるいくつかのアイテムがあります。必要に応じて、各アイテムの特定の数量をストアに割り当てられるようにしたいと考えています。これらの各店舗は、特定の倉庫にも関連付けられています。
問題は、倉庫レベルでは、各アイテムの合計数量が数の倍数 (たとえば 6) である必要があることです。
店舗レベルで各店舗に必要な数量を計算済みですが、倉庫レベルでは合計が 6 の倍数になりません。
私の解決策は、Excelを使用してこれでした:
SUMIFS 式を使用して、倉庫レベルで割り当てられた各アイテムの合計を追跡します。次に、6 の倍数までの残りを計算する別の MOD(6) 式。 次に、実際の VBA コードがループして、MODまで必要なストアレベル ユニットから 1 を減算 (MOD <= 3 の場合) または追加 (MOD > 3 の場合) します。 = すべての行で 0。
これでうまくいきましたが、5000行しかない場合でも非常に遅くなります。
必要な単位を減算/加算するたびに、SUMIFS と MOD を再度計算する必要があるため、より高速なソリューションを探しています。
編集:(より明確にしようとしています)
次の設定でデータを貼り付けるテンプレート ファイルがあります。
+------+-------+-----------+----------+--------------+--------+
| Item | Store | Warehouse | StoreQty | WarehouseQty | Mod(6) |
+------+-------+-----------+----------+--------------+--------+
| 1 | 1 | 1 | 2 | 8 | 2 |
| 1 | 2 | 1 | 3 | 8 | 2 |
| 1 | 3 | 1 | 1 | 8 | 2 |
| 1 | 4 | 1 | 2 | 8 | 2 |
| 2 | 1 | 2 | 1 | 4 | 2 |
| 2 | 2 | 2 | 3 | 4 | 2 |
+------+-------+-----------+----------+--------------+--------+
現在、WarehouseQty 列は、倉庫に関連付けられている各 Item-Store コンボの StoreQty を合計する SUMIFS 式です。そのため、Item-Store コンボが表示されるたびに、Warehouse/WarehouseQty 列が実際に数回複製されていると思います。WarehouseQty は、6 の倍数である必要があるものです。