Excel で 2 次元のテーブルを作成しています。例えば。
outputproduct blending combination
**5 P1:0.6/P3:0.5**
2 P1:0.3/P2:0.7
4 P5:0.4/P2:0.7
7 P11:0.7/P7:0.4
テーブルの範囲が B2:C6 から変化するとします (変化する可能性があります)。関数を作成する必要があります。その最初の仕事は、この範囲 (ユーザー定義の入力) を読み取り、データを 2 次元配列に格納して、最初の列でデータ (整数) を使用できるようにすることです。 2 列目の文字列を適切に指定します。
最初の列は結果の製品インデックスであり、2 番目の列は指定された比率で混合された製品であり、それらが組み合わされて最初の列の製品が得られます。
次に、別のテーブルがあります。
product index current stock updated stock
**1** **10**
2 20
**3** **50**
4 15
**5** **100**
. .
. .
. .
データ処理後、このテーブルの在庫量を更新する必要があります。たとえば、製品 1 と製品 3 を 6:5 (単位) の比率で組み合わせると、製品 5 が 1 単位生成されます。そのため、表 2 の各製品の在庫量を更新する必要があります。
範囲を2次元配列に変換する方法はありますか?
Public Function Blending_function( R1 as Range, R2 as Range)
' R2 is the range of table 2, where the updating is to be done
' R1 is first stored in to a 2 dimensional array, such that the data in the
' column 1 could be read, and the data in the column 2 could be read (of table 1).
' the integer in the column 1 of table 1 refers to the product index in table 2.
' P(i) stands for the ith product. In first row of table-1, P1 and P3 combine in the
' ratio of 6:5 to give P5. The current stock of each product is provide in table-2,
' whose range is R2(entire table 2).
' R1 is the range of table 1, from where the processing is to be done
End Function
私にとっての主なハードルは、範囲 R1 (表 1) を 2 次元配列に変換することです。次に、その配列、出力製品のインデックスを調べて、在庫レベルを更新するためにテーブル 2 でその製品を見つけます。