Excel: динамическая ссылка на ячейку для рулетки - PullRequest
0 голосов
/ 02 мая 2018

Я пытаюсь построить рулетку (0-36) и у меня есть вопрос, касающийся ссылки на ячейку: я хотел бы определить, что происходит, когда кто-то делает ставку на красный, и этот Excel будет применять определение красного только в случае необходимости. (Более общий: я хотел бы определить все варианты ставок в рулетке, такие как Нечетная, Ставка на столбец, Угол и т. Д., И применить определение при необходимости.)

enter image description here

Посмотрите на изображение: два человека делают ставку на красный, но верен только один результат: 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;-C2 формулы C5 должна измениться в соответствии с ячейкой, в которой ставка «Red»: «B2» или «B10» - «Red», следует применить базовую формулу. И он должен применять правильную формулу для нескольких ставок, как в моем примере.

Надеюсь, вы понимаете, что я пытаюсь сказать. Буду рад, если кто-нибудь сможет мне помочь: -)

1 Ответ

0 голосов
/ 02 мая 2018

Если я все правильно понимаю, возможно, не удастся использовать одну ячейку для суммы выигрыша C5 и суммы проигрыша C6. Причина в том, что в зависимости от ставки каждый раз будет разная сумма выигрыша и проигрыша. Вот почему Ряд 2 работает. Используется ставка 2 ряда C2 в формуле выигрышной суммы C5. Вы можете заставить 3 строку работать, используя C3*2; -C3 в формуле суммы выигрыша C5, но тогда вместо этого будет взломан D2

Вот два снимка экрана с использованием Excel 2010, которые могут помочь (это также было протестировано в LibreOffice 5.1.6.2). Это частичное решение, хотя и не самое лучшее. Однако идея должна работать с использованием встроенных функций (без VBA).

Пример 1

Excel 2010 Worksheet with results from a roulette of 2

Пример 2

Excel 2010 Worksheet with results from a roulette of 33

Примечания

Это решение требует составления исчерпывающего списка типов ставок (Столбец I) вместе с множителем выплат, если тип ставки ставщика в итоге становится победителем (Столбец K). Столбец 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)
  • 2-я дюжина: =AND($A$2>=13,$A$2<=24)
  • 3-я дюжина: =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 вы получите более широкие диапазоны.

Я объяснил функции MATCH и INDEX чуть более подробно в этом ответе , хотя вам, вероятно, было бы еще лучше, если бы вы просто посмотрели их где-нибудь в онлайн-руководстве.

...