如何用randbetween()模拟存在最常出价的拍卖竞价场景?
模拟带高频值的随机出价方案
单纯用RANDBETWEEN(1250,2200)没法实现你的需求——这个函数生成的是均匀分布的随机数,范围内每个数值出现的概率完全一致,做不到让1700成为最常见的出价。但可以通过组合Excel函数来实现带权重的随机场景,下面给两种实用方法:
方法1:直接设置权重的分层随机
给1700指定更高的出现概率,比如设置70%的概率直接出1700,剩下30%在1250-2200的非1700区间随机。示例公式:
=IF(RAND()<0.7,1700,IF(RANDBETWEEN(1,2)=1,RANDBETWEEN(1250,1699),RANDBETWEEN(1701,2200)))
你可以调整0.7这个数值来改变1700的出现频率,数值越大,1700出现得越频繁。
如果想更灵活分配权重,也可以用CHOOSE函数,比如让1700占7成概率,其他区间分剩下的3成:
=CHOOSE(RANDBETWEEN(1,10),1700,1700,1700,1700,1700,1700,1700,RANDBETWEEN(1250,1699),RANDBETWEEN(1701,2200),RANDBETWEEN(1250,2200))
方法2:正态分布近似(贴近真实出价规律)
真实竞价场景中,出价往往围绕某个核心值波动,用正态分布模拟更符合实际。以1700为均值,设置合适的标准差,生成随机数后限制在1250-2200范围内:
=MAX(1250,MIN(2200,ROUND(NORM.INV(RAND(),1700,150),0)))
这里的150是标准差,数值越小,出价越集中在1700附近;数值越大,出价越分散,你可以根据需求调整。
内容的提问来源于stack exchange,提问作者vba33
相关产品推荐
相关产品推荐

