0

我尝试构建一个轮盘赌 (0-36) 并且有一个关于单元格引用的问题:我想定义当有人下注红色时会发生什么,并且 Excel 将仅在需要时应用红色的定义。(更笼统地说:我想定义所有轮盘赌投注选项,例如奇数、列下注、角球等,并在需要时应用定义。)

在此处输入图像描述

看图片:两个人下注红色,但只有一个结果是正确的: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(请参阅最后两个元素)。

我的目标:只要投注部分(例如 B 列)中有“红色”条目,它将应用(更正)Definition Red C5。为了做到这一点,C2*2;-C2C5 公式的部分必须根据“红色”赌注所在的单元格进行更改:无论 B2 还是 B10 是“红色”,它都应该应用基础公式。并且,它应该像我的示例一样对多个投注应用正确的公式。

我希望你明白我想说什么。如果有人可以帮助我会很高兴:-)

4

1 回答 1

1

如果我正确理解所有内容,则可能无法将单个单元格用于获胜金额C5和失败金额C6。原因是,每次下注都会有不同的赢额和输额。这就是第 2 行有效的原因。C2它使用中奖金额公式中的第 2 行赌注C5。您可以通过C3*2; -C3在中奖金额公式中使用第 3 行C5,但随后D2会被破坏!

这里有两个使用 Excel 2010 的屏幕截图可能会有所帮助(这也在 LibreOffice 5.1.6.2 中进行了测试)。这是一个部分解决方案,尽管它公认不是最好的。但是,这个想法应该使用内置函数(没有 VBA)。

示例 1

Excel 2010 工作表,轮盘赌结果为 2

示例 2

带有轮盘赌结果的 Excel 2010 工作表 33

评论

如果下注者的下注类型最终成为赢家(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
  • 第1打:=AND($A$2>=1,$A$2<=12)
  • 第二打:=AND($A$2>=13,$A$2<=24)
  • 第三打:=AND($A$2>=25,$A$2<=36)

我不是轮盘赌专家,所以我可能不太正确......但我猜你已经知道获胜的公式了。

我的方法的问题在于,创建详尽的获胜列表(I、J 和 K 列)将花费大量精力。可能有一个更优雅的解决方案,但我必须更多地考虑它。


现在,您可以获取每个投注者的投注类型(B 列),并I2:I10使用该MATCH函数从所有投注类型的集合 ( ) 中找到其对应的索引。此过程的结果显示在 C 列中。D 列只是公式的说明,因此您无需将其包含在电子表格中。

获得索引后,您可以将其与INDEX功能一起使用J2:J10以查看投注类型是否为赢家。如果它是赢家,您还可以使用索引从中找到适当的支付乘数,K2:K10并将其乘以 E 列中的赌注。如果它不是赢家,则结果是赌注的损失。此过程的结果显示在 F 列中。G 列只是公式的说明,因此您无需将其包含在电子表格中。

请记住,当您添加更多投注类型时,I、J 和 K 列的范围将需要扩大。因此,您最终会得到更大的范围,而不是I2:I10,J2:J10和。K2:K10

我在这个答案中更彻底地解释了MATCHand的功能,尽管在某处的在线手册中查找它们可能会更好。INDEX

于 2018-05-02T03:22:03.393 回答