返回列表 上一主題 發帖

[發問] 將一固定值隨機分配到指定欄位

[發問] 將一固定值隨機分配到指定欄位

請教各位大大 , 由於小弟正在做模擬研究遇到了以下的問題 , 請各位大大幫忙指導VBA該如何編寫呢 ? 感恩 .

想要將Project1  Demand的固定值隨機分配到10個SKU中.

小丁

回復 2# n7822123

了解了. 下次我會注意的 , 是合要等於原來的111.
小丁

TOP

hcm19522 發表於 2018-8-26 17:43


謝謝hcm大大的幫忙.
小丁

TOP

回復  PaulDing


剛剛發現你的S.N. 在B欄,修改一下程式碼
如果要用函數做的話 參考 hcm19522 大大即 ...
n7822123 發表於 2018-8-26 18:22


謝謝n大的幫忙
小丁

TOP

回復  PaulDing


剛剛發現你的S.N. 在B欄,修改一下程式碼
如果要用函數做的話 參考 hcm19522 大大即 ...
n7822123 發表於 2018-8-26 18:22


n大 , 再與您請較一下"亂數比例範圍 = 0.3"指的是什麼意思呢? 感恩.
小丁

TOP

回復  PaulDing

只是一個變數值=0.3,數字越大,分配的越不平均

以平均值當中值,在乘以一個比例系 ...
n7822123 發表於 2018-8-29 00:13


n大 , 我太佩服您了 , 連這一點都有想到 , 感激非常. (讚讚讚讚讚讚讚)
小丁

TOP

回復  PaulDing

只是一個變數值=0.3,數字越大,分配的越不平均

以平均值當中值,在乘以一個比例系 ...
n7822123 發表於 2018-8-29 00:13


n大 , 不好意思再請教一下 , 若是要讓百分比也進行隨機分配的話我該調整哪個地方呢?
小丁

TOP

回復  PaulDing

把第一行改為:亂數比例範圍 = rnd

解釋:rnd=0~1
n7822123 發表於 2018-8-31 03:00


n大 , 我修改了後分配都到SKU10去了 , 是否我還有哪裡沒有修改好呢? 感恩.



Sub Project1SFSKU1toSKU10_Click()
亂數比例範圍 = Rnd
RN = Sheets(14).UsedRange.Rows.Count
ReDim Sum(RN - 1)
For r = 1 To RN - 1
  Sum(r) = Cells(r + 2, 2)
  ave = Sum(r) / 10
  For C = 1 To 9
    Cells(r + 2, C + 2) = Fix(((Rnd * 2) - 1) * (ave * 亂數比例範圍) + ave)
  Next C
  Cells(r + 2, 12) = "=sum(RC[-9]:RC[-1])"
  Cells(r + 2, 12) = Sum(r) - Cells(r + 2, 12)
Next r
End Sub
小丁

TOP

回復  PaulDing

因為被取整數了...............

我沒想到你的分配值還會有小於1的時候.........

...
n7822123 發表於 2018-9-1 00:32


n大 , 感恩. 請教一下因我run了365 days發現SKU1~SKU9很平均(SKU10較大) , 要怎麼樣調整才能夠不平均呢?感恩.
小丁

TOP

回復  PaulDing


亂數比例範圍 = 1

這樣應該就很不平均了!

如果你允許出現負值,大於1也是可以的 ...
n7822123 發表於 2018-9-2 01:09


感謝n大 , 調整試跑後可能真的要調整大於一方能夠較為顯著的差異 , 是否有方式可以將負值再隨機從中分配扣除呢? 此應該會要再多跑一圈對吧?
小丁

TOP

        靜思自在 : 改變自己是自救,影響別人是救人。
返回列表 上一主題