我正在使用Excel运行一种彩票。
电子表格列的设置如下:
COL3:人名;COL2:选择数字A;COL3:选择数字B;COL4:选择数字C
然后是一组使用RAND()和ROUND生成的数据,它们给出了3个中奖号码,每个号码都在0到10之间。
我要做的是识别一个获胜者,通过使用VLOOKUP或INDEX/MATCH,或者一些组合,或者其他函数来识别获胜者,这样就有一个单元格返回获胜者的名字。
增加的复杂性是,通过逐列查找每个数字,例如1,4,8的单个选择不是相对于随机选择的4,8,1的获胜选择。
想法?
发布于 2015-12-21 21:17:58
您可以将数字连接到additionalcolumn,这样它将包含字符串"1,4,8“,然后以相同的方式对连接的获奖数字执行VLOOKUP。顺便说一句,这个解决方案将只显示第一人称,但有没有可能几个人猜到了相同的数字并赢得了比赛?
发布于 2015-12-21 21:42:48
如果你想生成一个3位数的数字,最简单的方法就是使用下面的公式
=RANDBETWEEN(0,999)如果您希望自定义格式000显示为3位数字,例如7显示为007,您可以选择单元格,然后输入(通过右键单击可访问的格式对话框)自定义格式can。这将允许您直接对单个值使用VLOOKUP。@kipar问了一个关于潜在的多个赢家的很好的问题。
发布于 2015-12-21 21:44:07
我实现了上面提到的解决方案,它非常简单。在4列之后,使用以下命令添加一列
=TEXT(B1;0)&TEXT(C1;0)&TEXT(D1;0)
它将数字组合成一个字符串。然后你把你的中奖号码放在一个优先的单元格里,我的是M28,值是123。在前五列之后,您可以使用以下公式。
=IF.ERROR(INDEX(A$1:A$4;SMALL(IF(E$1:E$4=TEXT($M$28;0);ROW(E$1:E$4));RI-OW());1);"")
当没有多个赢家时,IF.ERROR用于置空。索引是用来从你的第一列中找出获胜者的,这就是为什么最后有一个1的原因。small用于查找获胜者的第一次出现。您还必须将其作为数组公式输入,因此在公式完成时按ctrl+shift+enter键,而不是只按enter键。我希望这个答案是令人满意的。
PS。有关使用此函数的更多信息,请访问此处:http://chandoo.org/wp/2014/12/09/multiple-occurrences-lookup-and-extraction/
https://stackoverflow.com/questions/34396463
复制相似问题