使用VLOOKUP或INDEX / MATCH运行彩票

我正在使用Excel来运行一种彩票。

电子表格列设置如下:

COL1:人名; COL2:select数字A; COL3:select数字B; COL4:select的数字C

然后有一组数据,使用RAND()和ROUND生成,给出3个中奖号码,每个号码在0到10之间。

我想要做的是通过使用VLOOKUP或INDEX / MATCH,或者某种组合或其他function来确定获胜者,以确定获胜者,以便有一个单元格返回获胜者的姓名。

增加的复杂性是,通过逐列查找每个数字,例如1,4,8的单独select不是针对随机select如4,8,1的获胜select。

想法?

您可以将数字连接到附加列,以便包含string“1,4,8”,然后执行VLOOKUP以连接方式与获胜数字相同。 顺便说一下,这个解决scheme只会显示第一个人,但是不可能有几个人猜到了相同的数字并赢了?

如果你想生成一个3位数的数字,到目前为止最容易做的就是使用公式

=RANDBETWEEN(0,999) 

您可以select单元格,然后input(通过右键单击格式对话框)自定义格式000如果您希望显示为3位数字,例如7显示为007 。 这将允许您直接在单个值上使用VLOOKUP 。 @kipar问一个关于潜在的多个赢家的优秀问题。

我实施了上述解决scheme,这很容易。 在你的4列后,你添加一列

= TEXT(B1; 0)&TEXT(C1; 0)&TEXT(D1; 0)

它将数字结合到一个string。 然后你把你的获奖号码放在一个首选的单元格中,这个单元格是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用于在没有多个获胜者时置空。 索引是用来从第一列中获得胜利者的,这就是为什么最后有一个。 小是用来find胜利者的第一次发生。 你也必须把它作为一个数组公式input,所以按ctrl + shift + enter,而不是在公式完成时input。 我希望这个答案是令人满意的。

PS。 有关使用此function的额外信息,请访问: http : //chandoo.org/wp/2014/12/09/multiple-occurrences-lookup-and-extraction/