看板 Office 關於我們 聯絡資訊
軟體: excel 版本: 2010 我有一個 35列 5行 的矩陣 如下所示 C D E F G H I J K L M 3 4 5 6 . . 37 每一行的資料都是 1~35的亂數,每一列加總都要是90 我參考版上有關亂數的資料 B2 =1 C1:G35 = rand() H38 =sum(H3:H37) 再複製公式到 H38:L38 M3 =sum(H3:L3) 再複製公式到 M3:M37 H3 =IF($B$2,IF($M3+H$38=720,H3,RANK(C3,C$3:C$37))) 再複製公式到 H3:L37 M2 =IF(COUNTIF(M3:M37,90)=35,"成功","未成功") 最後再用VBA寫個按鈕,讓他自動更新到跑出結果 Sub Macro() Application.ScreenUpdating = False Do While Range("M2").Value = "未成功" Calculate Loop Application.ScreenUpdating = True End Sub 我用過同樣的邏輯在一個5列 3行的矩陣中測過,可以算出答案 但是在原本 35列 5行 的case要跑非常久 我覺得可能是因為沒有甚麼特別演算法, 就是讓他靠運氣跑到一組剛好符合條件的答案 不曉得版上的先進有沒有更好的方法解決這個問題呢? -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.113.80.253