按要求分配百分比解决办法
按要求分配百分比
编号 名称 百分比
123 1组 45%
3组 55%
231 4组 15%
5组 26%
6组 34%
7组 25%
上面的表格能不能根据编号的不同生成随机的百分比呢?但是不能平均。请大神指点。谢谢!一个简单的函数后者其他方式
------解决方案--------------------
------解决方案--------------------
如果是在VBA里面计算机EXCEL中各行的百分比的话,大概的算法是这样的:
do 循环,直到第四列没有传扬为止
记当前行号i
设置动态数组,最大下标为1
读第四列值,存入动态数组最大下标的元素
如果第一列下一行没有值,把数组最大下标加一,到上一句
否则,计算数组各元素的和,从行号i开始,计算该行第四列值占和的百分比,写入该行第五列
同时行号递增
loop
------解决方案--------------------
do 循环,直到第四列没有数据为止
编号 名称 百分比
123 1组 45%
3组 55%
231 4组 15%
5组 26%
6组 34%
7组 25%
上面的表格能不能根据编号的不同生成随机的百分比呢?但是不能平均。请大神指点。谢谢!一个简单的函数后者其他方式
------解决方案--------------------
Dim n As Integer, m As Integer, i As Integer, p As Integer, tmp As Integer
n = 4
m = 100
Randomize
For i = 1 To n - 1
Do
p = m * Rnd()
tmp = m - p
Loop Until tmp > n - i
m = tmp
Debug.Print i, p
Next i
Debug.Print i, m
------解决方案--------------------
如果是在VBA里面计算机EXCEL中各行的百分比的话,大概的算法是这样的:
do 循环,直到第四列没有传扬为止
记当前行号i
设置动态数组,最大下标为1
读第四列值,存入动态数组最大下标的元素
如果第一列下一行没有值,把数组最大下标加一,到上一句
否则,计算数组各元素的和,从行号i开始,计算该行第四列值占和的百分比,写入该行第五列
同时行号递增
loop
------解决方案--------------------
do 循环,直到第四列没有数据为止