私のスプレッドシートには列Aアイテムのリストと列B各品目の数量:
Column A Column B
110 30
220 30
380 60
新しいセルに次のロジックを表示したいと思います。
もし、最小アイテム値(110(開始用)はまだ数量20で入手可能ですので、最小値を使用してください。
もしない次に使用して次リスト上の最小値(数量が 20 を超える場合も含む)など。
その結果、新しい配列に 110 (10 回)、220 (10 回)、380 (40 回) と表示されます。
次のエントリに必要な最小値を特定するために、以下の式を使用しました。
=VLOOKUP(MIN(A1:A3),A1:B3,2,0)
110、220、380 がアイテム (たとえば、電圧ソケット) であるとします。列 B は数量です。在庫は、最小の電圧ソケットから順に、常に在庫に保持しておかなければならない最小必要数量 (20) に達するまで発行する必要があります。C1 を引き下げると、このようなソケットの発行順序は、10x110v (30 個のうち 10 個しか発行できないため)、次に 10x220V (在庫の 220v 数量も 20 個になるため)、最後に 380v のソケットを発行します。C1 の理想的な数式をどのようにすれば、その数式を列 C に引き下げて、シーケンスが自動的に 110、110、110、... となり、アイテムが 10 個に達して在庫が 20 個になると、セル C11 に 220v ソケットの発行を開始する時刻が表示され、セル C21 には、前のソケットが発行最大数量に達するため 380 が表示されます。
何かアイデアはありますか?
答え1
以下のソリューションでは、在庫は列 A の順に配送されます。したがって、最も低い電圧を最初に配送したい場合は、最初に列 A を並べ替えてください。
C1 に入ります
0
。C2 に入力し
=IF(A1,MAX(B1-20,0)+C1,"")
、下方向にコピーします。D1 に入力し
=IF(ROW(D1)<=MAX(C:C),INDEX(A:A,MATCH(ROW(D1)-1,C:C,1)),"")
、下方向にコピーします。列 D が目的の値になります。
答え2
アイテムはいくつありますか? アイテムの数が少ない限り、次の方法が使えるかもしれません:
セルC1に次のように入力します。
=IF(B1>20,A1,IF(B2>20,A2,IF(B3>20,A3,"No Stock")))
特定の商品の在庫が 21 未満の場合、次の商品の在庫番号がチェックされます。在庫が 20 以上の商品がない場合、関連するテキストが表示されます。空白にしたい場合は "" が表示されます。
ただし、在庫品が増えると、文字列は長くなります。