Jump to content

FORMULA PARA CONTAR DIAS


Recommended Posts

Buenas tardes integrantes de este prestigioso foro, en esta ocasión recurro a uds para que me brinde su apoyo con la formula que vengo trabajando

=SI(G8="";"";SUMA(--(FRECUENCIA((C$8:C$2507=G8)*D$8:D$2507;(C$8:C$2507=G8)*D$8:D$2507)>0))-1)

el cual me esta mostrando error de valor cuando agrupo el valor fecha de la celda D8 hasta D2507, que proviene de la pestaña SORT que se ubica en la celda B2, y teniendo 2 alternativas para evitar el error de valor que serían:

*REEMPLAZAR EL PARÁMETRO $2507 POR $792 

  "=SI(G8="";"";SUMA(--(FRECUENCIA((C$8:C$2507=G8)*D$8:D$2507;(C$8:C$2507=G8)*D$8:D$2507)>0))-1)"

  ubicada en la celda K8, o

*ELIMINAR LAS FILAS EN BLANCO DESDE LA A793 HASTA LA A2507

quedando los valores obtenidos en la celda J8

Desde ya agradezco su atención, para lo cual adjunto archivo.

FORMULA PARA CONTAR DIAS TRABAJADOS.xlsm

Link to comment
Share on other sites

En 1/8/2021 at 7:58 , torquemada dijo:

Hola SALAVERRINO.

Como me gusta tu fórmula, pero me ha parecido corta, le he añadido más sustancia, para llegar al fin deseado.

Prueba la "nueva" fórmula resultante.

Saludos.

FORMULA PARA CONTAR DIAS TRABAJADOS.tor.xlsm 454.49 kB · 0 descargas

Buenos días @torquemadala formula quedo bien con los nuevos argumentos que haz considerado ya que en la formula no se tenia considerada y ahí el error, pero ahora se me presento un ERROR:

*cuando la base tiene a 1 trabajador que laborado 2 veces (es decir 1 día) pero me muestra el valor de cero (0) cuando en si debería ser (1)

*cuando la base tiene a 1 trabajador que laborado 4 veces (es decir 2 días) pero me muestra el valor de uno (1) cuando en si debería ser (2), pero cuando se adiciona otro trabajador la formula muestra el valor verdadero, en resumen el error es dado cuando tiene 1 solo trabajador con 2 días laborados, adjunto archivos

FORMULA PARA CONTAR DIAS TRABAJADOS.tor

por

FORMULA PARA CONTAR DIAS TRABAJADOS.tor ERROR 01

FORMULA PARA CONTAR DIAS TRABAJADOS.tor ERROR 02

FORMULA PARA CONTAR DIAS TRABAJADOS.tor ERROR 03

pero si todos datos de los archivos se encuentran en una sola pestaña SORT como archivo único la formula trabajo bien.

Saludos y espero comentarios.

 

FORMULA PARA CONTAR DIAS TRABAJADOS.tor ERROR 03.xlsm

Link to comment
Share on other sites

  • Crear macros Excel

  • Posts

    • Muchas Gracias Janlui. Funciona perfecto, veras que he añadido a la macro una última línea que es la que crea el fichero final TXT en una ubicación concreta. Lo que no se es porque una vez generado el TXT la última parte la vuelve a entrecomillar (en la hoja 5 del fichero que adjunto veras un pantallazo del TXT que genera) Repito, muchas gracias por la ayuda Saludos       Ejemplo3.xlsm
    • Observé un pequeño error, espero ya esté bien. Sub genera_txt()     Set datos = Worksheets("Hoja1")     Sheets("hoja2").Select     Dim cadena As String     Range("a27:a5000").ClearComments     rd = 2     rs = 27     xc = Chr(34)     Do While datos.Cells(rd, 1) <> ""         cadena = xc & Left(datos.Cells(rd, 3), Len(datos.Cells(rd, 3)) - 6) & xc & "," & xc         For i = 7 To 11             cadena = cadena & datos.Cells(rd, i)         Next         cadena = cadena & xc & "," & xc         For i = 12 To 56             cadena = cadena & datos.Cells(rd, i)         Next         cadena = cadena & xc & "," & xc & datos.Cells(rd, 1) & xc         Cells(rs, 1) = cadena         rs = rs + 1         rd = rd + 1     Loop End Sub  
    • Disculpa que no te lo regrese en el archivo, pero mi nivel de membresía no me permite completar al 100% el apoyo que solicitan.
    • Copia la macro y el resultado lo pondrá en la Hoja2... Saludos Sub genera_txt()     Set datos = Worksheets("Hoja1")     Sheets("hoja2").Select     Dim cadena As String     Range("a27:a5000").ClearComments     rd = 2     rs = 27     xc = Chr(34)     Do While datos.Cells(rd, 1) <> ""         cadena = xc & Left(datos.Cells(rd, 3), Len(datos.Cells(rd, 3)) - 6) & xc & "," & xc         For i = 6 To 10             cadena = cadena & datos.Cells(rd, i)         Next         cadena = cadena & xc & "," & xc         For i = 11 To 56             cadena = cadena & datos.Cells(rd, i)         Next         cadena = cadena & xc & "," & xc & datos.Cells(rd, 1) & xc         Cells(rs, 1) = cadena         rs = rs + 1         rd = rd + 1     Loop End Sub  
    • Todas tus celdas deberán tener formato numérico.
  • Recently Browsing

    No registered users viewing this page.

×
×
  • Create New...

Important Information

Privacy Policy