我尝试构建一个轮盘赌(0-36)并且有一个关于单元格引用的问题:我想定义当有人投注Red时会发生什么,并且excel将仅在需要时应用红色的定义。 (更一般:我想定义所有轮盘赌投注选项,例如Odd,Column bet,Corner等,并在需要时应用定义。)
看图片:两个人投注红色,但只有一个结果是正确的:D2(正确的红色投注将加倍)。 D3没有加倍,因此是错误的。
公式:
D2:=IF(B2="Red";
C5 ;IF(B2="Black";C6;C2))
在此公式中,我想引用基础公式C5的工作原理。 (在此方案中,只有部分B3="Red";C5
是相关的。)
D3:=IF(B3="Red";
C5 ;IF(B3="Black";C6;C3))
在此公式中,我想引用基础公式C5什么不起作用。 (在此方案中,只有部分B3="Red";C5
是相关的。)
C5:=IF(OR($A$2=1;$A$2=3;$A$2=5;$A$2=7;$A$2=9;$A$2=12;$A$2=14;$A$2=16;$A$2=18;$A$2=19;$A$2=21;$A$2=23;$A$2=25;$A$2=27;$A$2=30;$A$2=32;$A$2=34;$A$2=36);
C2 * 2; -C2 )
(假设)问题:C5公式被引用到C2(参见最后两个元素)。
我的目标:每当有一个" Red"在Bet部分中输入(例如B列),它将应用(更正的)Definition Red C5
。为了做到这一点,C5公式的C2*2;-C2
部分必须根据" Red"赌注是:B2或B10是否是"红色"它应该适用基础公式。而且,它应该像我的例子一样为多个投注应用正确的公式。
我希望你明白我想说的话。如果有人能帮助我会很高兴: - )
答案 0 :(得分:1)
如果我正确理解了所有内容,则可能无法使用单个单元格获取获胜金额C5
和丢失金额C6
。原因是,每次基于下注将有不同的获胜金额和亏损金额。这就是第2行正在运行的原因。它使用获胜金额公式C2
中的第2行赌注C5
。您可以在获胜金额公式C3*2; -C3
中使用C5
来使第3行工作,但之后D2
会被破坏!
以下是使用Excel 2010的两个屏幕截图,可能有所帮助(这也在LibreOffice 5.1.6.2中进行了测试)。这是一个部分解决方案,虽然它确实不是最好的。但是,这个想法应该使用内置函数(没有VBA)。
如果下注者的投注类型最终成为赢家(K栏),则此解决方案要求构建详尽的投注类型列表(第I列)以及支付乘数。列J包含结果数A2
是否会导致投注类型获胜(TRUE
)或丢失(FALSE
)的计算。我用于显示示例的计算是:
=OR($A$2=1,$A$2=3,$A$2=5,$A$2=7,$A$2=9,$A$2=12,$A$2=14,$A$2=16,$A$2=18,$A$2=19,$A$2=21,$A$2=23,$A$2=25,$A$2=27,$A$2=30,$A$2=32,$A$2=34,$A$2=36)
=OR($A$2={1,3,5,7,9,12,14,16,18,19,21,23,25,27,30,32,34,36})
=OR($A$2=2,$A$2=4,$A$2=6,$A$2=8,$A$2=10,$A$2=11,$A$2=13,$A$2=15,$A$2=17,$A$2=20,$A$2=22,$A$2=24,$A$2=26,$A$2=28,$A$2=29,$A$2=31,$A$2=33,$A$2=35)
=OR($A$2={2,4,6,8,10,11,13,15,17,20,22,24,26,28,29,31,33,35})
=AND($A$2>=1,$A$2<=18)
=AND($A$2>=19,$A$2<=36)
=MOD($A$2,2)=1
=MOD($A$2,2)=0
=AND($A$2>=1,$A$2<=12)
=AND($A$2>=13,$A$2<=24)
=AND($A$2>=25,$A$2<=36)
我不是轮盘赌专家,所以我可能没有他们说得对......但我猜你已经知道了胜利的公式。
我的方法的问题是创建详尽的胜利列表(第I列,第J列和第K列)将需要付出很多努力。可能有一个更优雅的解决方案,但我必须更多地考虑它。
现在您可以使用I2:I10
函数获取每个投注者的投注类型(B栏)并从所有投注类型(MATCH
)的集合中找到相应的投注。此过程的结果显示在C列中。列D只是公式的说明,因此您无需将其包含在电子表格中。
获得索引后,您可以将其与INDEX
函数一起使用,以查看J2:J10
以查看投注类型是否为赢家。如果它是赢家,您还可以使用索引从K2:K10
中找到相应的支付乘数,并将其乘以列E中的赌注。如果它不是赢家,则结果是丢失赌注。此过程的结果显示在F列中。列G只是公式的说明,因此您无需将其包含在电子表格中。
请记住,当您添加更多投注类型时,列I,J和K范围将需要扩展。因此,除了I2:I10
,J2:J10
和K2:K10
之外,您最终会获得更大的范围。
我在this answer中更详细地解释了MATCH
和INDEX
函数,尽管在某个地方的在线手册中查找它们可能会更好。