如何通过一定的分布在Excel中生成随机date?

在某些年份之间,例如在1/1/1950和1/1/2000之间,我需要生成X(易于使用1000)随机date,其中平均值大约是1/1/1980(1957-1985)

现在我知道Exceldate计算是基于天数。 所以:

01/01/1950 = 18264 01/01/2000 = 36526 01/01/1980 = 29221 

所以最小值是18264,最大值是36526,其中平均值是29221,其中大部分是在27395和31048之间生成的。

用什么方法可以实现这一目标,这可以通过Excel公式或VBA来实现。

现在我正在用这个生成date: =RANDBETWEEN(DATE(1950,1,1),DATE(2000,1,1))

但是这当然不会给我想要的数据。 由于我不想要一个统一的分配。

有人能把我引向正确的方向,我一直无法find或实现这一点。

更新我正在寻找的分布将看起来像这样: 在这里输入图像说明

其中-5是1950年,5是2000年。我要么得到紫色graphics,要么红色,或者绿色或蓝色。 不是一次全部。 F 或者问题的缘故放开紫图

Update2我希望能够用随机数据生成的最终graphics看起来像这样。 通过改变参数,整个graphics可以以不同的方式转换。 在这里输入图像说明

提前谢谢了。

看起来你需要一个比例为2/3的beta版本。 正态分布的问题是它的对称性,而且它没有Max和Min。 testing版分布提供了这些。

尝试这个:

 =BETA.INV(RAND(), 3, 2, 18264, 36526) 

公式=NORM.INV(RAND(), 29221, SQRT(20))将创build方差为20,平均值为29221(对应于1980年1月1日)的正态分布随机图。 您可能希望参数引用其他单元格,而不是在公式中进行硬编码。 请注意,SQRT(20)对应于天数

较早版本的Excel具有等效的NORMINVfunction。

这些是分配的分位数function。

如果你想要另一个形状(例如你的问题中的偏斜分布),那么你需要自己构build分位数函数。 您可以通过将PDF转换为CDF(通过集成)并交换轴来完成此操作。 可能是VBA的工作。