Si todavía no estás listo para instalar Python o configurar bases de datos en Docker, no te preocupes. Puedes exprimir al máximo tu hoja de cálculo utilizando Macros (VBA).
Una de las tareas más tediosas es verificar si la combinación que tienes en mente ya ha ganado el primer lugar en el pasado (algo que estadísticamente querrás evitar). Hacer esto a mano o con la herramienta "Buscar" sorteo por sorteo es agotador. Vamos a automatizarlo.
Preparando tu archivo
- Abre tu Excel con el histórico del Melate.
- Asegúrate de tener los números ganadores (R1 a R6) en las columnas
CaH. - Guarda tu archivo como "Libro de Excel habilitado para macros (*.xlsm)".
El Código VBA
Presiona ALT + F11 para abrir el editor de Visual Basic, inserta un "Módulo" nuevo y pega el siguiente código. Esta macro tomará una combinación que tú definas y buscará en todo el historial si alguna vez ha salido exacta.
Sub BuscarCombinacionHistorica()
Dim ws As Worksheet
Dim ultimaFila As Long
Dim i As Long
Dim matchCount As Integer
Dim miCombinacion(1 To 6) As Integer
Dim encontrada As Boolean
Set ws = ThisWorkbook.Sheets("Historico") ' Cambia el nombre si tu hoja se llama distinto
ultimaFila = ws.Cells(ws.Rows.Count, "A").End(xlUp).Row
encontrada = False
' Define aquí los 6 números que quieres buscar
miCombinacion(1) = 4
miCombinacion(2) = 15
miCombinacion(3) = 23
miCombinacion(4) = 38
miCombinacion(5) = 42
miCombinacion(6) = 51
' Recorrer todo el histórico (asumiendo que los datos empiezan en la fila 2)
For i = 2 To ultimaFila
matchCount = 0
' Comparar columnas C a H (3 a 8)
If ws.Cells(i, 3).Value = miCombinacion(1) And _
ws.Cells(i, 4).Value = miCombinacion(2) And _
ws.Cells(i, 5).Value = miCombinacion(3) And _
ws.Cells(i, 6).Value = miCombinacion(4) And _
ws.Cells(i, 7).Value = miCombinacion(5) And _
ws.Cells(i, 8).Value = miCombinacion(6) Then
MsgBox "¡Alerta! Esta combinación ya ganó en el sorteo de la fila " & i, vbExclamation, "Búsqueda Completada"
encontrada = True
Exit Sub
End If
Next i
If Not encontrada Then
MsgBox "Combinación inédita. Nunca ha salido el primer lugar con estos números exactos.", vbInformation, "Búsqueda Completada"
End If
End Sub
¿Cómo funciona?
La macro define un arreglo con tus 6 números y utiliza un ciclo For para escanear fila por fila (desde el sorteo más antiguo hasta el actual). Si encuentra una coincidencia exacta, detiene la búsqueda y te lanza una alerta indicando en qué fila está el sorteo. Si termina de leer los más de 3,000 sorteos y no encuentra nada, te confirma que tu combinación es "inédita".
Con este pequeño script, acabas de convertir tu hoja de Excel estática en una herramienta de validación automatizada.