如何在Excel中为随机数寻找适当的math函数
我在Excel中遇到了这个问题
我必须创build一个仿真订单,每5毫秒随机出现,对待每一个订单的时间是3.9毫米
如果订单是uniforme我没有任何问题来创build一个模拟,但每次我有一个时间间隔的时间,我的模拟失败。
时间处理订单= 3.9mn
每5mn随机指令:
order flow: 2 2 2 2 2 2 2 2 2 2 2 2 time (mn) : 5 10 15 20 25 30 35 40 45 50 55 60 orders done: 1 2 3 5 6 7 8 10 11 12 14 15
以计算例如是为了第一和第二顺序完成订单
= INT(5/3.9)=1 (in 5mn i have just one order done) = INT(10/3.9)=2 (in 10mn i have 2 orders done)
在这里没有问题,但一旦我的随机订单改变,我无法find一个函数来创build一系列的命令。
order flow: 1 0 6 2 0 1 3 0 1 2 4 0 1 time (mn) : 5 10 15 20 25 30 35 40 45 50 55 60 65 orders done: 1 1 2 3 4 6 7 8 9 12 13 14 16
我说每次我没有任何治疗的命令,制服系列1 2 3 5 …从一开始就只join已经准备好的东西,但我不知道如何翻译这个function。
我希望我的问题清楚,谢谢
我认为你已经理解了你的问题,但是对于你所说的,你写的第二个序列是错误的。 从45分钟到50分钟,在5分钟内增加了3个订单,这是不可能的,因为你可以每5分钟处理最多5 / 3,9 = 1,282个订单。
我不知道是否有一个公式来计算你所需要的,但看看我的表。
并考虑这个公式的第一列(函数SE()是IF()在我的语言):
for B3 -> =SE(B4=0;0;SE(B4=1;1;5/3,9)) for B4 -> =B1 for B5 -> =B4-B3 for B7 -> =INT(B3) -- for C7 -> INT(C3) -- and so on for D7, F7, ...
对于列C,D和其他人在C中使用此公式并将其展开为其他列:
for C3 -> =SE(C1=0;SE(B5=0;B3;SE(B5<(5/3,9);B3+B5;B3+(5/3,9)));SE((C1+B5)<(5/3,9);B3+C1+B5;B3+5/3,9)) for C4 -> =B4+C1 for C5 -> =C4-C3
您必须将每列中的数字视为5分钟时间段结束时的队列/队列的状态。 你可以看到收到的总订单,尚未完成的订单的排队,完成的订单和完成的订单(事实上在5分钟内,如果你收到2个订单,你已经完成了一个,但你已经处理了多个.. )。
假设订单到达5分钟时间的开始,如果订单到达五个被认为是“时间段”的第三个分钟,则不能计算您可以处理多less个订单,除非您指定了这个时间点订单在5分钟时段内到达。
关于公式…以及它只是评估可以validation的不同情况:
- 如果没有订单,也没有排队的订单,那么没有工作要做,所以处理的订单将是已经处理的订单
- 如果没有订单并且排队的订单less于5 / 3,9(5分钟内可以处理的最大订单),则处理的总订单将是已经完成的订单加上排队的
- 如果没有订单,而排队的订单超过5 / 3,9,则处理的总订单将是已经完成的订单加上5 / 3,9(所有可以完成的工作)
- 如果有订单,并且订单总数加上前一个时间段中排队的订单总数小于5 / 3,9,则处理的总订单将是已经完成的订单加上到达的订单总数
- 如果有订单,而且订单总数加上排队的订单总数大于5 / 3,9,则会做最大的工作(5 / 3,9),总订单将是已经完成的订单加5/3, 9
希望这是你的问题的解决scheme;)
埃托雷
编辑 :
刚刚意识到不需要所有这些testing,这足以将C3端扩展到D3,E3,…
=SE((C1+B5)<(5/3,9);B3+C1+B5;B3+5/3,9)
;)