異なる列での数量の分離

異なる列での数量の分離

合計に基づく、明細項目ごとの最大数量の数量分離式を教えてください。

商品が乳製品で、1箱に150個入っていて数量が1000個の場合、結果はbox1(150)、box2(150)、box3(150)、box4(150)、box5(150)、box6(150)、box7(100)となります。

商品が肉で、1箱に20個入っていて数量が184個の場合、結果はbox1(20)、box2(20)、box3(20)、box4(20)、box5(20)、box6(20)、box7(20)、box8(20)、box9(20)、box10(4)になります。

答え1

を使用する場合は、以下を試してくださいMS365:

ここに画像の説明を入力してください


=LET(α,C2/B2,δ,MOD(α,1),DROP(HSTACK(SEQUENCE(,α,,0),δ)*B2,,-(δ=0)))

旧バージョンの場合:

=IFNA(IFS(COLUMN(A$1)<=$C2/$B2,$B2,COLUMN(A$1)=CEILING($C2/$B2,1),MOD($C2,$B2)),"")

答え2

結果を別々のセルに表示したい場合は、次の数式を使用できます。

=LET(n,SEQUENCE(1,ROUNDUP(A2/B2,)),"box"&n&"("&IF(A2>n*B2,B2,A2+B2-n*B2)&")")

結果を 1 つのセルにカンマで区切って表示する場合は、次のTEXTJOIN関数を使用して結果を結合できます。

=TEXTJOIN(",",,LET(n,SEQUENCE(1,ROUNDUP(A5/B5,)),"box"&n&"("&IF(A5>n*B5,B5,A5+B5-n*B5)&")"))  

ボックスを埋める

関連情報