Jump to content

Contar días seguidos de puntualidad empleados al 100%


Recommended Posts

Buenos días. Es mi primera intervención, y ya es para pedir ayuda.  Ver si puedo contar con vuestras experiencias.

 

Tengo una tabla, en una columna días, y en la otro la puntualidad de ese día en concreto en "%"

 

Ya he calculado en el total de año el nr de días que la puntualidad ha sido del 100%

 

Pero (y ahí es donde me he quedado atascado), necesitaría un contador que me dijera el número de días que llevamos con una puntualidad de los empleados del 100%

 

He encontrado este tema que me ha servido de algo de ayuda, pero o bien no se interpretarlo, o no es exactamente lo que busco.

 

 

Comunidad, anticipadamente, muchas gracias por vuestra ayuda.

EJEMPLO 1.xlsx

Link to comment
Share on other sites

OH, Gabriel, muchas gracias, no es exactamente lo que estaba buscando, pero me sirve, no había pensado en este indicador, pero desde luego lo guardaré. Ahora intentaré comprender la fórmula para aprender de ella.

 

Lo que estaba pidiendo, siento haberme explicado mal, es desde hoy hacia atrás. Es un indicador que comprobamos cada día, para saber los días que llevamos cumpliendo el objetivo.

 

Sin duda tú aportación la valoro gratamente, ya que nos permitirá saber cual es nuestro record para superarlo. Voy a intentar si a partir de tú fórmula lo consigo sacar.

Usando la función "HOY" es posible?

 

Un Saludo.,

Link to comment
Share on other sites

Hola a todos,

Entiendo que poniendo en D4..

Cita

=(HOY())-(INDICE(Tabla2[FECHA];COINCIDIR(VERDADERO;Tabla2[PUNTUALIDAD]<>1;)))

Saludos.

Link to comment
Share on other sites

Brutal, Muchísimas gracias. Es exactamente lo que necesitaba.

Hay un trozo de la fórmula que no termino de entender, pero me la voy a copiar porqué seguro que sigo aprendiendo y refrescando mi Excel que llevaba tantos años oxidado, y segundo, seguro que a partir de aquí consigo cosas nuevas.

 

Un Saludo.

 

Link to comment
Share on other sites

Hola a todos,

Interesante consulta, un buen ejercicio, la propuesta de @John Jairo V me llamó la atención y creé un desarrollo de la "Lógica" de la función, el desarrollo se puede ver bien con Ms 365, ya que usa matrices dinámicas, está más a la derecha de la tabla y las soluciones.

Otra forma de hacer lo mismo.

Adjunto archivo

 

Eventos consecutivos - Racha.zip

Link to comment
Share on other sites

Debí de entenderlo mal.

Yo interpretaba que querías saber los días que los trabajadores habían sido puntuales, desde la fecha de hoy al primer día que no se cumplió la puntualidad al 100% y que tú, en la tabla ibas añadiendo por la parte superior día a día si han sido puntuales.

EJEMPLO 1 (1).xlsx

Link to comment
Share on other sites

¡Hola de nuevo!

@GabrielRaigosa, la razón del SI.ERROR(... 1+ CONTARA) es por si el usuario coloca la última fecha (en el ejemplo de la tabla, es el 12/04/2021), donde al ser 100% no habrían fechas por debajo de ésta. Tu opción 2 genera error por este motivo. ¡Bendiciones!

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now


  • Crear macros Excel

  • Posts

    • Hola estoy cargando una hoja Excel a una grilla de VB6 y creo que el método que estoy empleando es lento, creo recordar que hay otros métodos mas rápidos, yo utilizo dos for X, y for Y recorriendo celda por celda y obtengo su valor (esto en 790 filas con 21 columnas me esta demorando 1 minuto), pero creo que había una forma de obtener un array de las celda lo cual es mas rápido mi código actual Private Sub Form_Load() Dim LastRow As Long Dim i As Integer Dim XL As Object, xlSpread As Object Const xlLastCell = 11 Dim Row As Long, Col As Long Set XL = CreateObject("Excel.Application") XL.Workbooks.Open FileName:=App.Path & "\L1.xlsx", ReadOnly:=False Set xlSpread = XL.Application LastRow = xlSpread.ActiveCell.SpecialCells(xlLastCell).Row With ucGridPlus1 .Redraw = False .ColsCount = 21 .RowsCount = LastRow - 6 + 1 'Encabesados For i = 0 To 20 .ColumText(i) = xlSpread.Cells(5, i + 1).Value Next i = 0 'Celdas/Tabla For Row = 6 To LastRow For Col = 0 To 20 .CellValue(i, Col) = xlSpread.Cells(Row, Col + 1).Value Next i = i + 1 'Debug.Print Row Next .Redraw = True End With XL.Application.DisplayAlerts = False XL.ActiveWorkbook.Close False 'Dont save changes (if any) XL.Quit Set XL = Nothing End Sub  
    • Para ocultar la aplicación: Application.Visible = False en el evento Workbook_Open Para poder trabajar con Excel mientras el formulario está mostrado: Userform1.Show vbModeless
    • Hola 2 horas de proceso ufff me parece mucho tiempo... Si ese proceso te congela momentáneamente Excel, no te queda mas que usar una virtual   Saludos 
    • Hola El comportamiento de las funciones utilizando formato de tabla estructurada, cambia respecto a las referencias Una forma sencilla de superarlo es usar referencias relativas de esas celdas Mira =SUMAR.SI.CONJUNTO(J$7:J7,C$7:C7,$C7)   Saludos 
    • ¡Hola, @gogua! El tema de los rangos expandibles en tabla tienen un comportamiento "peculiar" cuando llegan al final de la misma.  Entonces, una opción para trabajar con ellos es "jugar" con las referencias estructuradas.  Tu fórmula, al tener un solo criterio, puede usarse con la función SUMAR.SI de la siguiente forma: =SUMAR.SI(C$7:[@CODIGO];[@CODIGO];J$7:[@[Ent./Sal.]]) ¡Pruébala y comentas! ¡Bendiciones!
  • Recently Browsing

    No registered users viewing this page.

×
×
  • Create New...

Important Information

Privacy Policy