如何通过一定的分布在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具有等效的NORMINV
function。
这些是分配的分位数function。
如果你想要另一个形状(例如你的问题中的偏斜分布),那么你需要自己构build分位数函数。 您可以通过将PDF转换为CDF(通过集成)并交换轴来完成此操作。 可能是VBA的工作。