作者lovebbw (非胖勿扰)
看板Office
标题[算表] 用乱数来vlookup的问题
时间Thu Jan 16 17:01:27 2020
软体:EXCEL 2010
因为有份名单要用来抽奖,但抽奖券数量多的,要有比较多的中奖机会
所以想说用累积数字来抽
累积百分比 ID 数量 累积次数
0.02242152 A 5 5
0.33632287 B 70 75
0.36322870 C 6 81
0.42600897 D 14 95
0.47982063 E 12 107
0.77578475 F 66 173
1.00000000 G 50 223
於是用rand()函数取0~1
再用=VLOOKUP(rand(),上表范围,ID,TRUE)
但发现用这方法找出的A 会是落在0.022~0.33之间的(但这区间其实应该要是B)
而0~0.02...的值找不出ID,且0.99的值会捞出F (这代表G永远不会被抽到)
请问有解吗?
---------------------------------------
最後想到的是手动补0跟最後一笔
累积百分比 ID 数量 累积次数
0 A 5 5
0.022421525 B 70 75
0.33632287 C 6 81
0.3632287 D 14 95
0.426008969 E 12 107
0.479820628 F 66 173
0.775784753 G 50 223
1 0 0 0
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 125.227.151.121 (台湾)
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/Office/M.1579165290.A.EEA.html
※ 编辑: lovebbw (125.227.151.121 台湾), 01/16/2020 17:05:19
2F:→ soyoso: 连结是模拟,所以以f1:f6的值来显示公式回传值 01/16 17:09
3F:→ soyoso: 再自行调整内文所写到的函数rand() 01/16 17:10
4F:→ soyoso: 但内文提到手动补0方面就要看,当等於累积百分比时是回传 01/16 17:14
5F:→ soyoso: 哪一个ID,例如因为上面,感觉0~0.02242152是回传A,但下 01/16 17:15
6F:→ soyoso: 面的则会回传B 01/16 17:15
7F:→ soyoso: 而且下面所举例方面累积百分比也没有排序(由小到大) 01/16 17:16
8F:→ soyoso: vlookup range_lookup以true来看不一定会回传正确的值 01/16 17:17
9F:→ soyoso: 01/16 17:15所回会回传B方面是指等於累积百分比(如0.02242 01/16 17:18
10F:→ soyoso: 152) 01/16 17:18
11F:→ lovebbw: 刚刚用了一下 乱数0.001会捞出标题耶 捞不出A 01/16 17:19
13F:→ soyoso: 回传的就是A,并不是标题,所以公式要自行调整 01/16 17:20
※ 编辑: lovebbw (125.227.151.121 台湾), 01/16/2020 17:22:02
15F:→ lovebbw: 我知道了 对不起~~我上面有其他公式 所以可能A:A加到其他 01/16 17:31
16F:→ soyoso: 当然,回文者又不清楚原po实际a1:a12资料是什麽 01/16 17:32
17F:→ soyoso: 所以才回文要自行调整不是嘛 01/16 17:32
18F:推 newacc: 考虑用RANDBETWEEN吗? 01/16 18:28