mei881225 wrote:想詢問用excel vba...(恕刪) 11樓範例https://www.mobile01.com/topicdetail.php?f=511&t=5025613&p=2每組個數最大上限=數量合計金額愈高,上限就要訂愈高因為這是可重覆選取的問題當項目太多時,最大搜尋組數,一定要限制上限不然組合數有可能是天文數字,程式會跑不完最後用函數(vba),算出各項目的數量例如某單價有幾個=countif(範圍,"=300")某項目有幾個(如有特定名稱定義,可能需要用別種函數或vba計算)=LEN(F1)-LEN(SUBSTITUTE(F1,"A",""))(排版請自行修改範例)
mei881225 wrote:您好,想請問重複選取的意思是?(恕刪) 不可重複A+B+C=Ax1+Bx1+Cx1=合計數量3Ax1 b、c不要=合計數量1Bx1 a、c不要=合計數量1Cx1 a、b不要=合計數量1可重複A+A+B+C+C+C=Ax2+Bx1+Cx3=合計數量6Ax6 c、b不要 =合計數量6Cx3+Bx3 a 不要=合計數量6………等N種組合計算公式,請參考該樓文章內的說明mei881225 wrote:現在要求購買數量的所有組合,那這樣是否需要以循環算當項目A買1個時項目B、C可買幾個去排列?(恕刪) 範例中所有的組合結果都會列出來,只是在那一列不一定如果用2樓圖片中的數值輸入用項目名稱F欄(或金額G~???欄),計算出各項目的數量後,再排序可得 A 只買1個時,只有23種組合方式另外建議加上誤差值不然只要金額沒有剛好用完或超過時,程式會無法計算出結果至於方法,請參考該樓文章內的說明[加總 <(小於) 目標值] 且 [加總 >(大於) 目標值 - 誤差值 ]