Saltar al contenido

Contador de rachas


tvf

Recommended Posts

publicado

Buenos días,

Tengo un listado con 3 columnas, nombre, resultado y hora. Donde voy anotando un jugador, el resultado obtenido (gana o pierde) y la hora del partido.

Ejemplo: pepe gana 11:00

                 maría gana 11:00

                  pepe gana 11:30

                  pepe pierde 11:45

                  maría gana 11:45

                 pepe gana 12:00

Mi idea es crear una columna de resultados, ya sea mediante una tabla dinámica o una fórmula para detectar las rachas acumuladas  de cada jugador.

Ejemplo: Pepe         María

                Gana 2       Gana 2

                Pierde 1

                Gana 1

¿Cómo puedo hacerlo? Adjunto libro con una serie de datos y el modelo de resultado que me gustaría obtener. En caso de no poder ir en la misma celda el número y el valor podría ir en celdas separadas.

Muchas gracias

Contador rachas consecutivas.xlsx

publicado

¡Hola, a todos! (Sil... RPC Virtualito para ti)

Quise resolver el problema con fórmulas (ya saben mi gusto por resolver las cosas con ellas).  Usé rangos nombrados para que la fórmula no quedara monstruosamente larga, y también porque se realizan cálculos que se repiten algunas veces. 

En cuanto a los rangos nombrados, les he puesto un prefijo para "ordenarlos" de acuerdo con su uso en la fórmula final.  ¡Bendiciones!

Contador rachas consecutivas.xlsx

publicado

Hola, por profundizar un poco mas.

Te dejo una UDF para que la puedas adaptar a cualquier hoja y cualquier rango.

	Public Function racha(rangojugadores As Range, rangoganapierde As Range, fila)
Dim matriz()
Dim pierde As Byte
Dim gana As Byte
Dim cel As Range
Dim cel1 As Range
	
For Each cel1 In Range(rangojugadores.Address)
gana = 0
pierde = 0
x = 0
x1 = 0
ReDim matriz(0)
For Each cel In Range(rangoganapierde.Address)
If cel = "Gana" And cel.Offset(, -1) = cel1 Then
x = x + 1
ReDim Preserve matriz(gana)
matriz(gana) = "Gana " & x
pierde = UBound(matriz) + 1
x1 = 0
End If
If cel = "Pierde" And cel.Offset(, -1) = cel1 Then
x1 = x1 + 1
ReDim Preserve matriz(pierde)
matriz(pierde) = "Pierde " & x1
gana = UBound(matriz) + 1
x = 0
End If
Next
Next
	racha = matriz(fila - 1)
End Function

La estructura de la formula seria la siguiente: segun la estructura que tienes en tu ejemplo:

=SI.ERROR(racha(F$2;$B$2:$B$28;FILA(A1));"")

 

Un saludo a todos.

publicado

Hola a todos..

Chicos.. hay una cosita que no entiendo... ??

image.png.36c06d51e5c9c77a5484ffd7ee5fbccc.png

Porqué Luis tiene dos Gana y 1 Pierde, la racha no es en base a las  horas??  

a las 10:00 ganó,  a las 10:30 perdió, y a las 11:10 ganó

Por eso a mi me sale que  ganó 1, perdió 1 y ganó 1

??

saludos,

Silvia

 

*** PD John un mega RPC para ti y un mini para Samuelito..

 

 

publicado
Hace 11 minutos , Silvia dijo:

Hola a todos..

Chicos.. hay una cosita que no entiendo... ??

image.png.36c06d51e5c9c77a5484ffd7ee5fbccc.png

Porqué Luis tiene dos Gana y 1 Pierde, la racha no es en base a las  horas??  

a las 10:00 ganó,  a las 10:30 perdió, y a las 11:10 ganó

Por eso a mi me sale que  ganó 1, perdió 1 y ganó 1

??

saludos,

Silvia

 

*** PD John un mega RPC para ti y un mini para Samuelito..

 

 

Hola silvia, segun el archivo de tvf es por rachas. En su ejemplo luis gana dos consecutivas (aunque es cierto que no coinciden las horas) y pierde una.

Tendra que aclararlo cuando responda.

 

Un saludo.

publicado
Hace 21 minutos , Toldeman dijo:

En su ejemplo luis gana dos consecutivas (aunque es cierto que no coinciden las horas) y pierde una.

Yo pensé que era un error de el..

Hace 21 minutos , Toldeman dijo:

Tendra que aclararlo cuando responda.

Cierto...  ;)

 

 

publicado

Hola a todos, muchas gracias por las distintas respuestas.

He de revisarlas con calma a ver si calculan lo que me gustaría. Obviamente la tabla original tiene muchos más datos y mas valores distintos pero lo quise resumir de ese modo.

La hora, al igual que otros datos que tengo en la tabla original no sirven para nada en ese cálculo que quiero.

publicado
Hace 20 horas, johnmpl dijo:

¡Hola, a todos! (Sil... RPC Virtualito para ti)

Quise resolver el problema con fórmulas (ya saben mi gusto por resolver las cosas con ellas).  Usé rangos nombrados para que la fórmula no quedara monstruosamente larga, y también porque se realizan cálculos que se repiten algunas veces. 

En cuanto a los rangos nombrados, les he puesto un prefijo para "ordenarlos" de acuerdo con su uso en la fórmula final.  ¡Bendiciones!

Contador rachas consecutivas.xlsx 13.06 kB · 5 descargas

Me gusta mucho resolver las cosas con fórmulas aunque la verdad que me cuesta entender a que hace referencia cada rango y las funciones que hay en los mismos. Me podrías, aunque fuera conceptualmente detallar un poco cada parte para poder entenderlo.

Muchas gracias.

publicado
Hace 14 minutos , tvf dijo:

Me gusta mucho resolver las cosas con fórmulas aunque la verdad que me cuesta entender a que hace referencia cada rango y las funciones que hay en los mismos. Me podrías, aunque fuera conceptualmente detallar un poco cada parte para poder entenderlo.

Muchas gracias.

Ya que además en los datos originales no se usan ni esos nombres ni esos términos y cuando he intentado adaptarlo me dio algunos problemas.

Gracias

publicado
Hace 22 horas, johnmpl dijo:

¡Hola, a todos! (Sil... RPC Virtualito para ti)

Quise resolver el problema con fórmulas (ya saben mi gusto por resolver las cosas con ellas).  Usé rangos nombrados para que la fórmula no quedara monstruosamente larga, y también porque se realizan cálculos que se repiten algunas veces. 

En cuanto a los rangos nombrados, les he puesto un prefijo para "ordenarlos" de acuerdo con su uso en la fórmula final.  ¡Bendiciones!

Contador rachas consecutivas.xlsx 13.06 kB · 6 descargas

Definitivamente increíble tus formulas amigo @johnmpl jejejeje, cada vez que veo un aporte tuyo con formulas ultra complejas, lo bajo para revisarlo y seguir aprendiendo, gracias

publicado
En 17/4/2020 at 5:01 , vaguilarpau dijo:

Te paso la solución y te dejo el funcionamiento hasta 10 jugadores.

Espero te sirva  (Macro)

rachas.thumb.gif.5e4d6fc1501cb35a2002e9ad341fb9bc.gif

Contador rachas consecutivas - aporte.xlsm 19.87 kB · 2 descargas

Buenas noches,

Creo que va muy encaminado a lo que necesito. Pero tengo un par de dudas:

En primer lugar el número de jugadores es mucho mayor, actualmente ronda los 40 aunque es verdad que no me interesa ver información de todos sino de algunos. ¿Me podrías explicar como añadir más jugadores o como proceder para en casa de tener varios únicamente me mostrara los resultados de aquellos que me interesan?

En segundo lugar, mi tabla original no es igual a esa, hay más columnas y el pierde gana esta expresado en otros términos. ¿Cómo podría adaptarlo para en lugar de contar pierde gana, cuente lo que me interesa?

Para finalizar, en caso de querer tener los datos en un hoja, y la macro en otra hoja únicamente para ella ¿como podría hacerlo?

Muchas gracias por vuestra ayuda.

publicado
En 17/4/2020 at 1:31 , tvf dijo:

Hola a todos, muchas gracias por las distintas respuestas.

He de revisarlas con calma a ver si calculan lo que me gustaría. Obviamente la tabla original tiene muchos más datos y mas valores distintos pero lo quise resumir de ese modo.

La hora, al igual que otros datos que tengo en la tabla original no sirven para nada en ese cálculo que quiero.

Hola.

Me parece que algunos hemos trabajado en valde.

Saludos.

publicado

¡Hola, a todos!

En 16/4/2020 at 20:31 , bigpetroman dijo:

Definitivamente increíble tus formulas amigo @johnmpl jejejeje, cada vez que veo un aporte tuyo con formulas ultra complejas, lo bajo para revisarlo y seguir aprendiendo, gracias

Te agradezco @bigpetroman por tu comentario.  Se te extrañaba por estos lares.  Saludos a todos los participantes también.

Parece que el consultante anda desaparecido,  y no ha comentado sobre los nuevos aportes.  En mi aporte anterior, vi un error en caso tal que las rachas de ganancia o pérdida coincidieran.  Entonces, lo he corregido y lo he mejorado para que se calculen de forma automática las personas.  En el archivo, está ya aplicado para 10 personas diferentes, pero se pueden arrastrar las fórmulas hacia la derecha y hacia abajo para extender el proceso.  He dejado contadores tanto de personas como de las posibles rachas, para que se sepa hasta dónde arrastrar.  ¡Bendiciones!

Contador rachas consecutivas.xlsx

publicado

¡Hola de nuevo, a todos!

Me quedé enganchado con el problema.  Doy otra solución con dos columnas Auxiliares, y una tabla dinámica.  De seguro esta forma es más fácil de implementar, y tiene los resultados de forma automática al actualizar la memoria caché de la Tabla Dinámica.

El problema amerita un vídeo (o varios) en mi canal de Youtube, para explicar lo que he realizado (lo haré en un tiempo que tenga). ¡Bendiciones!

Contador rachas consecutivas.xlsx

Archivado

Este tema está ahora archivado y está cerrado a más respuestas.

  • 109 ¿Te parecen útiles los tips de las funciones? (ver tema completo)

    1. 1. ¿Te parecen útiles los tips de las funciones?


      • No
      • Ni me he fijado en ellos

  • Ayúdanos a mejorar la comunidad

    • Donaciones recibidas este mes: 0.00 EUR
      Objetivo: 130.00 EUR
  • Archivos

  • Estadísticas de descargas

    • Archivos
      187
    • Comentarios
      97
    • Revisiones
      28

    Más información sobre "Un juego del Rabino en Excel"
    Última descarga
    Por pegones1

    1    1

  • Crear macros Excel

  • Mensajes

    • Perdona @Abraham Valencia pero he estado liado estos días. En realidad todo el problema se reduce a estos dos problemas: Problema 1: El script que "fabrica" SAP y que luego "pego" en la macro, no es capaz de  guardar archivos en SharePoint. He estado buscando, y en realidad muchas personas tienen ese problema (no poder guardar un Excel en SAP a través de VBA). Eso muy probablemente sean problemas de permisos, que no puedo cambiar (no soy administrador de nada). Como no puedo solucionarlo así, paso al plan B, que es guardar en Excel que me genera SAP en el ordenador de cada usuario que ejecute la plantilla (y que sí está guardada en SharePoint), para después con PowerQuery llamar a ese Excel (el export). Para ello, pretendo guardar el export, en la ruta relativa "C:\..\..\..\OneDrive - NombreEmpresa\Documentos\SAP\SAP GUI" donde los \..\..\..\ saltan las rutas personales de cada usuario (tipo C:\users\IDusuario\). Eso lo hace bien, y el archivo se guarda en la ruta de cada usuario que lo usa, pero surge el problema 2 Problema 2: PowerQuery no trabaja con rutas relativas del tipo  "C:\..\..\..\OneDrive - NombreEmpresa\Documentos\SAP\SAP GUI" necesita que sea del tipo fija "C:\users\IDusuario\OneDrive - NombreEmpresa\Documentos\SAP\SAP GUI" pero claro, IDusuario es diferente para cada usuario.   Pero escribiendo todo esto, creo que he dado con una posible solución, no grabar el export en una ruta de usuario, sino en una en la raiz de C:, que siempre será igual para todos los usuarios, del tipo C:\Sap\export.xlsx que seria igual en todos los ordenadores. Asi sí podría decirle a PowerQuery que vaya siempre a la ruta C:\Sap\ que existirá en todos los ordenadores. Mañana intentaré hacer pruebas, aunque mi solución ideal seria que se pudiera guardar en el SharePoint. Saludos.
    • Hola La opción brindada por @torquemada es correcta, funciona, pero hay algunos inconvenientes que (desde mi punto de vista) no la convierten en mi primera elección. Los inconvenientes son: Tendrías que ir columna por columna haciendo los reemplazos, claro que no se harían a mano sino que utilizarías la opción reemplazar o la opción texto en columnas, aun asi demorará un poquito y será trabajoso. Cada vez que descargues otro listado, tendrás que volver a realizar los reemplazos. Me parece una mejor propuesta lo siguiente: Descarga los movimientos a un archivo de Excel Desde tu control de pagos (otro archivo) cargas los movimientos del archivo descargado mediante Power Query Power Query hará los reemplazos y reconocerá todo correctamente (sin que tengas que hacer nada especial) Cuando descargues los movimientos un día posterior, solamente tendrás que hacer clic en "Actualizar" y todo funcionará en automático
    • Hola a todos, Efectivamente, me temo que tal como trabajan las funciones =HOY() y/o =AHORA() (volátiles), sólo con macros puedes obtener soluciones. Un recurso pedestre podría ser, cada vez que quieras que se fije un dato, te sitúes en esa celda y pulses F2, F9 e INTRO.  Pero claro, puede ser un inconveniente si hay que hacerlo repetitivamente en muchas ocasiones,.............. en fin, lo comento sólo como posibilidad. Saludos,
    • Hola nuevamente, mi duda sigue siendo la ruta, o rutas, finales que quedan, esas que llamas "relativas"; igual por si acaso pon 3 o 4 de esas, tal cual son y/o se ven en el explorador de cada PC y, de ser posible, en cualquier otro "lado" en que las veas.
    • Hola, tal cual se plantea, solamente con macros (VBA); en todo caso, hacerlo a mano o con "CTRL + ;". Saludos.
  • Visualizado recientemente

    • No hay usuarios registrado para ver esta página.
×
×
  • Crear nuevo...

Información importante

Echa un vistazo a nuestra política de cookies para ayudarte a tener una mejor experiencia de navegación. Puedes ajustar aquí la configuración. Pulsa el botón Aceptar, si estás de acuerdo.