Excel: 対応するセルに20以上の最小値を選択

Excel: 対応するセルに20以上の最小値を選択

私のスプレッドシートには列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 を並べ替えてください。

  1. C1 に入ります0

  2. C2 に入力し=IF(A1,MAX(B1-20,0)+C1,"")、下方向にコピーします。

  3. 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 以上の商品がない場合、関連するテキストが表示されます。空白にしたい場合は "" が表示されます。

ただし、在庫品が増えると、文字列は長くなります。

関連情報