Sports Analytics con Python: Comparando los partidos con mayor y menor actividad ofensiva del Mundial FIFA 2026

Imagen
¿Qu茅 hace realmente emocionante a un partido de f煤tbol? Cuando hablamos de un gran partido solemos pensar inmediatamente en muchos goles. Sin embargo, en Sports Analytics la producci贸n ofensiva puede analizarse desde una perspectiva mucho m谩s amplia utilizando estad铆sticas avanzadas. En este proyecto desarroll茅 un Match Excitement Score (MES) , un 铆ndice que resume la actividad ofensiva de cada encuentro del Mundial FIFA 2026 mediante una combinaci贸n de m茅tricas tradicionales y avanzadas. Todo el an谩lisis fue realizado en Python utilizando Pandas y Matplotlib, compartiendo adem谩s el notebook completo para que cualquier persona pueda reproducir los resultados. ¿C贸mo se construy贸 el Match Excitement Score? El 铆ndice integra seis variables ofensivas disponibles en el dataset: ⚽ Goles 馃搱 Expected Goals (xG) 馃幆 Total de disparos 馃 Disparos a puerta 馃敟 Big Chances 馃搷 Toques dentro del 谩rea rival Cada variable fue estandarizada mediante Z-score y posteriormente ...

馃搳 Macro en Excel para Usar VLOOKUP (BUSCARV) Autom谩ticamente

Hola amigos, bienvenidos a un nuevo post de nuestro blog de programaci贸n para todos.

La mayor铆a utilizamos Excel en nuestros trabajos y una de las funciones mas utilizadas es el Vlookup o el BuscarV que hace la maravillosa actividad de buscar un dato en una tabla y en base a un indice podemos obtener otra columna de la tabla, esto sirve mucho para cruzar informaci贸n o simplemente para validar si un valor de una tabla esta en otra tabla.


Como siempre buscamos hacer las cosas m谩s r谩pido y ser los mejores en nuestra aldea God铆n, les quiero compartir un ejemplo de una Macro que cuenta con:

La primer hoja tiene una lista de Productos a vender 



En la segunda Hoja tiene los pedidos de los clientes con su c贸digo de cliente y el item del pedido, la cantidad pedida, fecha de la venta


Lo que va hacer nuestra Macro es en la primer hoja nos calcule la cantidad total vendida por cada item y el monto total de venta

Antes de ver el programa, les explico como habilitar la pantalla de desarrollo de software en Excel

Configurar Excel para Macros

  • Habilitar Pesta帽a de Desarrollo
  1. En la pesta帽a archivo , vaya a Opciones> personalizar la cinta de opciones.
  2. En Personalizar la cinta de opciones y Pesta帽as principales, active la casilla Programador.
  • Presionamos las teclas Alt + F11 al mismo tiempo, deben ver una pantalla as铆:


Una vez, teniendo estos requisitos podemos empezar con la magia :) 

C贸digo de la Macro

Private Sub CommandButton1_Click()
Dim Fila As Long
Dim Fila2 As Long
Dim Col As Integer
Col = 3 ' columna C
Fila = 4

'coloca montos totales en hoja2
Do While Sheet2.Cells(Fila, "B") <> ""
    Call vlookup_data(Sheet2.Cells(Fila, "B").Value, Col, Fila)
    Fila = Fila + 1
Loop

Fila = 3
'consolidado de venta
Do While Sheet1.Cells(Fila, "A") <> ""
    Fila2 = 4
    Do While Sheet2.Cells(Fila2, "B") <> ""
       If Sheet2.Cells(Fila2, "B") = Sheet1.Cells(Fila, "A") Then
          'sumamos las cantidades vendidas por item
          Sheet1.Cells(Fila, "D") = Sheet1.Cells(Fila, "D") + Sheet2.Cells(Fila2, "C")
          'sumamos lo montos
          Sheet1.Cells(Fila, "E") = Sheet1.Cells(Fila, "E") + Sheet2.Cells(Fila2, "E")
       End If
       Fila2 = Fila2 + 1
    Loop
    
Fila = Fila + 1
Loop
End Sub

Sub vlookup_data(val_look As String, val_col As Integer, val_fila As Long)
Dim resultado As Long
Dim temp_col As Integer

resultado = 0

On Error Resume Next
 resultado = Application.WorksheetFunction.VLookup(val_look, Sheet1.Range("A3:C10"), val_col, False)
 If Err.Number <> 0 Then
 End If

On Error GoTo 0  ''
If Err.Number = 0 Then
 Sheet2.Cells(val_fila, "E").Value = Sheet2.Cells(val_fila, "C").Value * resultado
End If
End Sub


Ejecuci贸n de la Macro

Para mostrarles como se va ejecutando la Macro, en la pantalla donde esta nuestro programa podemos marcar los renglones donde queremos que se detenga , dando doble click del lado izquierdo sobre la parte izquierda y se coloca un punto rojo 

En la primera parte busca en cada linea de la hoja 2 y busca el precio que le corresponde en la primer hoja
En el siguiente paso nos va ir sumando por cada item la cantidad total vendida y la el monto total



Al final en nuestra primer hoja tendremos los datos consolidados 



Este es un ejemplo pero puede utilizar o ajustar el programa a sus necesidades, espero les haya gustado este post y nos compartan. Recuerden si no saben que es Vlookup  o quieren aprender nuevas funciones de Excel, contacten a Debite


Les dejo las ligas de otras macros en nuestro blog

No olvide compartirnos y seguirnos en este blog o en Facebook.

Comentarios

馃殌 Mantener este blog funcionando requiere tiempo y caf茅. ¡Puedes contribuir con uno aqu铆!

Entradas m谩s populares de este blog

Gu铆a Pr谩ctica: Ejemplo Completo de ASPX para Desarrolladores Web

馃憠 C贸mo obtener el tipo de cambio en Excel con API de Banxico (paso a paso)

Macro en Word para automatizar documentos: genera diplomas en segundos (con c贸digo VBA)