如何在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) 

;)