parapeto escribió: ↑Mié 12 Oct, 2022 9:55 pm
Magnífico, esta macro te calcula la probabilidad para cada categoría de aciertos desde 0 a 14.
Espero te ayude.
Sub sumas()
For i = 1 To 2 ^ 14
If Int(i / 2 ^ 13) Mod 2 = 0 Then a1 = 0 Else a1 = 1
If a1 = 0 Then p1 = 1 - Range("i1").Value Else p1 = Range("i1").Value
If Int(i / 2 ^ 12) Mod 2 = 0 Then a2 = 0 Else a2 = 1
If a2 = 0 Then p2 = 1 - Range("i2").Value Else p2 = Range("i2").Value
If Int(i / 2 ^ 11) Mod 2 = 0 Then a3 = 0 Else a3 = 1
If a3 = 0 Then p3 = 1 - Range("i3").Value Else p3 = Range("i3").Value
If Int(i / 2 ^ 10) Mod 2 = 0 Then a4 = 0 Else a4 = 1
If a4 = 0 Then p4 = 1 - Range("i4").Value Else p4 = Range("i4").Value
If Int(i / 2 ^ 9) Mod 2 = 0 Then a5 = 0 Else a5 = 1
If a5 = 0 Then p5 = 1 - Range("i5").Value Else p5 = Range("i5").Value
If Int(i / 2 ^
Mod 2 = 0 Then a6 = 0 Else a6 = 1
If a6 = 0 Then p6 = 1 - Range("i6").Value Else p6 = Range("i6").Value
If Int(i / 2 ^ 7) Mod 2 = 0 Then a7 = 0 Else a7 = 1
If a7 = 0 Then p7 = 1 - Range("i7").Value Else p7 = Range("i7").Value
If Int(i / 2 ^ 6) Mod 2 = 0 Then a8 = 0 Else a8 = 1
If a8 = 0 Then p8 = 1 - Range("i8").Value Else p8 = Range("i8").Value
If Int(i / 2 ^ 5) Mod 2 = 0 Then a9 = 0 Else a9 = 1
If a9 = 0 Then p9 = 1 - Range("i9").Value Else p9 = Range("i9").Value
If Int(i / 2 ^ 4) Mod 2 = 0 Then a10 = 0 Else a10 = 1
If a10 = 0 Then p10 = 1 - Range("i10").Value Else p10 = Range("i10").Value
If Int(i / 2 ^ 3) Mod 2 = 0 Then a11 = 0 Else a11 = 1
If a11 = 0 Then p11 = 1 - Range("i11").Value Else p11 = Range("i11").Value
If Int(i / 2 ^ 2) Mod 2 = 0 Then a12 = 0 Else a12 = 1
If a12 = 0 Then p12 = 1 - Range("i12").Value Else p12 = Range("i12").Value
If Int(i / 2 ^ 1) Mod 2 = 0 Then a13 = 0 Else a13 = 1
If a13 = 0 Then p13 = 1 - Range("i13").Value Else p13 = Range("i13").Value
If Int(i / 2 ^ 0) Mod 2 = 0 Then a14 = 0 Else a14 = 1
If a14 = 0 Then p14 = 1 - Range("i14").Value Else p14 = Range("i14").Value
suma = a1 + a2 + a3 + a4 + a5 + a6 + a7 + a8 + a9 + a10 + a11 + a12 + a13 + a14
p = p1 * p2 * p3 * p4 * p5 * p6 * p7 * p8 * p9 * p10 * p11 * p12 * p13 * p14
If suma = 0 Then pp0 = pp0 + p
If suma = 1 Then pp1 = pp1 + p
If suma = 2 Then pp2 = pp2 + p
If suma = 3 Then pp3 = pp3 + p
If suma = 4 Then pp4 = pp4 + p
If suma = 5 Then pp5 = pp5 + p
If suma = 6 Then pp6 = pp6 + p
If suma = 7 Then pp7 = pp7 + p
If suma = 8 Then pp8 = pp8 + p
If suma = 9 Then pp9 = pp9 + p
If suma = 10 Then pp10 = pp10 + p
If suma = 11 Then pp11 = pp11 + p
If suma = 12 Then pp12 = pp12 + p
If suma = 13 Then pp13 = pp13 + p
If suma = 14 Then pp14 = pp14 + p
Next i
Range("l1").Value = pp0
Range("l2").Value = pp1
Range("l3").Value = pp2
Range("l4").Value = pp3
Range("l5").Value = pp4
Range("l6").Value = pp5
Range("l7").Value = pp6
Range("l8").Value = pp7
Range("l9").Value = pp8
Range("l10").Value = pp9
Range("l11").Value = pp10
Range("l12").Value = pp11
Range("l13").Value = pp12
Range("l14").Value = pp13
Range("l15").Value = pp14
End Sub