如何为 Excel 中的随机数序列找到合适的数学函数

how to find the appropriate math function for series with random numbers in Excel

我在Excel

遇到这个问题很头疼

我必须模拟每 5 百万次随机出现的订单,处理每个订单的时间是 3.9 百万

如果订单是统一的,我创建模拟没有任何问题,但每次我在一段时间内有 0 个订单时,我的模拟都会失败。

处理一个订单的时间=390万

每 5 百万个随机订单:

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) 

这里没问题,但是一旦我的随机订单发生变化,我就找不到创建已完成订单系列的函数。

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...从头开始只添加已经准备好的东西,但我不知道如何在函数中翻译它。

我希望我的问题很清楚,谢谢

我想你的问题已经理解了,但是你说的第二个序列你写的是错误的。从时间 45 分钟和 50 分钟开始,5 分钟内增加了 3 个订单,这是不可能的,因为您每 5 分钟最多可以处理 5/3,9 = 1,282 个订单。
我不知道是否有计算你需要的公式,但看看我的 table。

并考虑第一列的这个公式(函数 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 分钟时间段结束时 odrers/queue 的状态。 您可以看到收到的订单总数、尚未完成的订单队列、已完成的订单和已完成的订单(实际上在 5 分钟内,如果您收到 2 个订单,您已经完成了一个订单,但您已经处理了多个订单...... .).

假设订单在 5 分钟时间段的开始到达,这将起作用……如果订单在被视为 "time slot" 的五分钟中的第三分钟到达,您无法计算您可以接收多少订单处理,除非您指定此订单在 5 分钟时段内到达的时间。

关于公式...嗯,它只是评估可以验证的不同情况:

  • 如果没有订单,也没有排队的订单,则没有工作要做,因此处理的订单将是已经处理的订单
  • 如果没有订单且排队的订单少于5/3,9(5分钟内可以处理的最大订单),则处理的订单总数将为已完成的订单加上排队的订单
  • 如果没有订单并且排队的订单超过5/3,9 处理的订单总数将是已经完成的订单加上5/3,9(所有可以完成的工作)
  • 如果有订单,且前一个时间段已到订单加上已排队订单的总和小于5/3,9处理的订单总数将是已完成订单加上已到订单总和和排队的人
  • 如果有订单并且到达的订单加上排队的订单的总和大于5/3,9将完成最大工作量(5/3,9)并且总订单将是已经完成的订单加上 5/3,9

希望这是您问题的解决方案 ;)

埃托

编辑

刚刚意识到不需要所有这些测试,这足以将 C3 端扩展到 D3、E3、...

=SE((C1+B5)<(5/3,9);B3+C1+B5;B3+5/3,9)

;)