Excel Avanzado

Macros, Vba en Excel y muchos ejemplos de nuestro Curso de Excel Avanzado

Excel Avanzado
cálculo de tiempo de trabajo de un empleado 150x97, Cálculo de tiempo de trabajo de un empleado

Cálculo de tiempo de trabajo de un empleado

| 21 comentarios

Para este artículo elaboré una función personalizada que permite calcular el tiempo laborado por una persona, considerando su fecha de ingreso y su fecha de salida.  La función nos permite conocer el tiempo laborado por la persona, presentando la información de la siguiente manera:

X años, Y meses y Z días.

Para efectos del cálculo del tiempo laborado, consideraremos los siguientes supuestos:

-          Cada mes se considerará como 30 días.

-          Cada año se considerará como 365 días.

La función fue definida con el nombre TiempoTrabajo(), la cual recibe 2 parámetros: fecha de inicio y fecha de fin.

Internamente se manejan 4 variables, las cuales son:

Variable

Descripción

diferenciaDias Es el número total de días que hay entre la fecha de inicio y fin
numAños Número de años transcurridos
numMeses Número de meses transcurridos
numDias Número de días transcurridos

La función efectúa una resta entre la fecha de fin y la de inicio en la variable diferenciaDias, y luego calcula los valores años, meses y días, por medio de las siguientes fórmulas

numAños = Int(diferenciaDias / 365)

numMeses = Int((diferenciaDias - (numAños * 365)) / 30)

numDias = Int(diferenciaDias - (numAños * 365) - (numMeses * 30))

Finalmente estos 3 valores, se concatenan en una cadena para mostrar la información en el formato indicado.

 Código:

Function TiempoTrabajo(fechaInicio As Date, fechaFin As Date) As String
    Dim diferenciaDias As Integer
    Dim numDias As Integer
    Dim numMeses As Integer
    Dim numAños As Integer
    
    diferenciaDias = fechaFin - fechaInicio

    numAños = Int(diferenciaDias / 365)
    numMeses = Int((diferenciaDias - (numAños * 365)) / 30)
    numDias = Int(diferenciaDias - (numAños * 365) - (numMeses * 30))
                
    TiempoTrabajo = numAños & " años, " & numMeses & " meses y " & numDias & " días"   
End Function

Ejemplo

Supongamos que tenemos el siguiente listado de trabajadores de una empresa X, para los cuales tenemos su fecha de ingreso y fecha de salida. Para calcular su tiempo de trabajo emplearemos la función creada anteriormente.

tabla 300x55, Cálculo de tiempo de trabajo de un empleado

(Para mayor visualización de la imagen, hacer click en la misma)

Aplicando la función

fig2 300x15, Cálculo de tiempo de trabajo de un empleado

(Para mayor visualización de la imagen, hacer click en la misma)

Obtenemos la información requerida:

tabla11 1 300x56, Cálculo de tiempo de trabajo de un empleado

(Para mayor visualización de la imagen, hacer click en la misma)

 

Ver archivo Excel

 

Elaborado por Juan Carlos Sánchez

21 comentarios

Deja una respuesta

Los campos requeridos estan marcados con *.