Saltar al contenido

Formula para extraer determinada horas de un dia


frankdavidexce

Recommended Posts

publicado

Deseo extraer determinada horas de un dia. Ejemp. Si entro a la 7:00am y salgo a la 7:00pm

de mi trabajo

Quiero una formula que me permita extraer las horas que en mi trabajo son marcada como

extras estas son de 7 a 8 am, de 12 a 2pm y de 6 a 7pm ayudenme por favor. Gracias.

Que con solo yo poner las hora de inicio y la hora terminada me entresaque en una selda

esas horas que son fija en mi trabajo como extras.

Control de Hora Trabajada.rar

publicado

Hola

No estaría de más que en el archivo que acompañas indicases manualmente los resultados (en horas) que esperas obtener.

Saludos

publicado

German waoooo agradezco en gran manera tu ayuda tenia dias tratando de buscar solucion a esto y no e podido y aunque falta un detallito estoy contento por que siento que esta llegando gracias a su ayuda a su culminacion.

El detallito que falta es el siguiente, el archivo que me ha enviado funciona para 12 horas y me gustaria que fuera para mas hasta tres dias si es posible, no veo la opcion de la fechas, para que me entienda en mis trabajo podemos entrar un dia a la 7:00am y salir o terminar el trabajo tres dias depues osea seguimos corrido, se puede solucionar eso? Gracias de antemano.

Control de Hora Trabajada_VG.rar

publicado

Hola Franklin

Te iba a responder ayer, pero no pude entrar al foro en todo el día, no sé si es problema del internet de mi trabajo u otra cosa.

Le puse algunas indicaciones, la verdad no se me ocurrió otra forma de hacerlo porque tus horarios son bien especiales, mira la planilla adjunta y me cuentas.

Saludos.

Control de Hora Trabajada_R.zip

publicado

Saludo a todos lo que han intentado ayudarme con mi gran problema rodrigo, German, Flemin y otros y gracias solo falta un pequeño detallito se lo expongo en el archivo.

formula que me permita extraer las horas que en mi trabajo son marcada como

extras estas son de 7 a 8 am, de 12 a 2pm y de 6pm a 7am del siguinte dia. Gracias.

Control de Hora Trabajada_R.zip

publicado

Pero si eso es lo que está hecho, por ejemplo si entras a trabajar el miercoles a las 2 y sales el jueves a las 4 de la tarde, en la planilla le pones que el miercoles trabajaste de 2 a 12 de la noche, el jueves de 00:00:01 a 24:00:00 y el jueves de 00:00:01 a 16:00 en 3 líneas distintas, y con eso es simplemente sumar las horas de los 3 dias...la misma te dice cuantas extras y cuantas normales...eso es todo.

publicado

Interesante gracias Rodrigo por favor tenme paciencia déjamever con calma para ver si entiendo lo que me explica, pero mira si lo pongo asícomo me dice que lo haga o lo ponga en la plantilla yo observo que me sale biende 2 a12 del miércoles y el viernes hasta la 16.00 en la fila 3 así mesale de maravilla, pero cuando lo intento cambiar y por favor ponlo en laplantilla tu, por ejemplo en vez de comenzar el trabajo a la 2 del miércoles locomenzamos a la 3 y en vez de terminar a la 16.00 del viernes lo terminamos a 7.00am de ese mismo día observalos resultado en la plantilla de horas extras y hora sencillas las sumas nocoinciden con lo que se espera, no sé si es por mi office que es del 2010 lo voya llevar el archivo a otra compu a ver sies por el office. Gracias mi hermano.

publicado

Interesante gracias Rodrigo por favor tenme paciencia déjame ver con calma para ver si entiendo lo que me explica, pero mira si lo pongo así como me dice que lo haga o lo ponga en la plantilla yo observo que me sale bien, de 2 a12 del miércoles y el viernes hasta la 16.00 en la fila 3 así me sale de maravilla, pero cuando lo intento cambiar y por favor ponlo en la plantilla tu, por ejemplo en vez de comenzar el trabajo a la 2 del miércoles lo comenzamos a la 3 y en vez de terminar a la 16.00 del viernes lo terminamos a 7.00am de ese mismo día observa los resultado en la plantilla de horas extras y hora sencillas las sumas no coinciden con lo que se espera, no sé si es por mi office que es del 2010 lo voy a llevar el archivo a otra compu a ver si es por el office. Gracias mi hermano.

  • 2 weeks later...
publicado

Que bueno, si te funciona como quieres, está bien, y mejor que hayas subido la solución que te dieron...lamentablemente no tuve mucho tiempo para seguir viendo estos asuntos, se viene una época fuerte en mi trabajo y no tendré mucho tiempo extra...saludos.

- - - - - Mensaje combinado - - - - -

Que bueno, si te funciona como quieres, está bien, y mejor que hayas subido la solución que te dieron...lamentablemente no tuve mucho tiempo para seguir viendo estos asuntos, se viene una época fuerte en mi trabajo y no tendré mucho tiempo extra...saludos.

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
      188
    • Comentarios
      98
    • Revisiones
      29

    Más información sobre "Cambios en el Control Horario"
    Última descarga
    Por pegones1

    4    1

  • Crear macros Excel

  • Mensajes

    • Hola, veo que tienes 365, así que esta forma funcionará   Almacen.xlsx
    • Buenos días  @LeandroA espero estes bien Tengo un caso idéntico al planteado en la siguiente pregunta: Sin embargo, a diferencia de quien planteo originalmente la pregunta al correr el código no obtengo ningún resultado podrían ayudarme a resolver este inconveniente y que al hacer click en el Botón Guardar (CommandButton3) del Formulario RCS (frmrcs) el archivo pdf quede configurado con orientación vertical, márgenes superior, inferior, derecho e izquierdo = 1 y en página tamaño carta. Si acaso influye uso Microsoft Excel LTSC MSO (versión 2209 Compilación16.0.1.15629.20200) de 64 bits Mucho le sabre agradecer la ayuda que me pueda dar  RCS PRUEBA - copia.xlsm
    • @JSDJSDCon gusto mi estimado Para la opción 1: Sub Surtirhastadondealcanse() Dim ws As Worksheet Set ws = ThisWorkbook.Sheets(1) Dim filaInicio As Integer: filaInicio = 4 Dim filaFin As Integer: filaFin = 7 Dim colInventario As Integer: colInventario = 2 Dim colSolicitudesInicio As Integer: colSolicitudesInicio = 4 ' Columna C Dim colResultadoInicio As Integer: colResultadoInicio = 9 ' Columna I Dim colTotalSurtido As Integer: colTotalSurtido = 12 ' Columna L Dim colFinalInventario As Integer: colFinalInventario = 13 ' Columna M Dim numClientes As Integer: numClientes = 3 Dim fila As Integer, i As Integer For fila = filaInicio To filaFin Dim inventario As Double inventario = Val(ws.Cells(fila, colInventario).Value) Dim solicitudes(1 To 3) As Double Dim surtido(1 To 3) As Variant Dim totalSurtido As Double: totalSurtido = 0 ' Leer solicitudes For i = 1 To numClientes If IsNumeric(ws.Cells(fila, colSolicitudesInicio + i - 1).Value) Then solicitudes(i) = CDbl(ws.Cells(fila, colSolicitudesInicio + i - 1).Value) Else solicitudes(i) = 0 End If surtido(i) = "POR FALTA STOCK" Next i ' Surtir de acuerdo al inventario disponible For i = 1 To numClientes If solicitudes(i) > 0 Then If inventario >= solicitudes(i) Then surtido(i) = solicitudes(i) inventario = inventario - solicitudes(i) totalSurtido = totalSurtido + solicitudes(i) ElseIf inventario > 0 Then surtido(i) = inventario totalSurtido = totalSurtido + inventario inventario = 0 Else surtido(i) = "POR FALTA STOCK" End If End If Next i ' Escribir resultados en las columnas correspondientes para cada cliente For i = 1 To numClientes With ws.Cells(fila, colResultadoInicio + i - 1) If surtido(i) = "POR FALTA STOCK" Then .Value = surtido(i) .Font.Color = vbRed Else .Value = surtido(i) .Font.Color = vbBlack End If End With Next i ' Escribir total surtido y existencia final ws.Cells(fila, colTotalSurtido).Value = totalSurtido ws.Cells(fila, colFinalInventario).Value = inventario Next fila MsgBox "Resultado surtido cargado con éxito...", vbInformation End Sub Para la opción 2:   Sub surtirenpartesiguales() Dim ws As Worksheet Set ws = ThisWorkbook.Sheets(1) Dim filaInicio As Integer: filaInicio = 13 Dim filaFin As Integer: filaFin = 16 Dim colInventario As Integer: colInventario = 2 Dim colSolicitudesInicio As Integer: colSolicitudesInicio = 4 ' Columna C Dim colResultadoInicio As Integer: colResultadoInicio = 9 ' Columna I Dim colTotalSurtido As Integer: colTotalSurtido = 12 ' Columna L Dim colFinalInventario As Integer: colFinalInventario = 13 ' Columna M Dim numClientes As Integer: numClientes = 3 Dim fila As Integer, i As Integer For fila = filaInicio To filaFin Dim inventario As Double inventario = Val(ws.Cells(fila, colInventario).Value) Dim solicitudes(1 To 3) As Double Dim surtido(1 To 3) As Variant Dim totalSurtido As Double: totalSurtido = 0 Dim totalPedido As Double: totalPedido = 0 ' Leer solicitudes For i = 1 To numClientes If IsNumeric(ws.Cells(fila, colSolicitudesInicio + i - 1).Value) Then solicitudes(i) = CDbl(ws.Cells(fila, colSolicitudesInicio + i - 1).Value) totalPedido = totalPedido + solicitudes(i) Else solicitudes(i) = 0 End If surtido(i) = 0 Next i ' Si hay suficiente inventario, surtir lo que el cliente pide If inventario >= totalPedido Then For i = 1 To numClientes If solicitudes(i) > 0 And inventario >= solicitudes(i) Then surtido(i) = solicitudes(i) inventario = inventario - solicitudes(i) totalSurtido = totalSurtido + solicitudes(i) End If Next i Else ' Reparto base igualitario Dim baseSurtido As Long baseSurtido = Int(inventario / numClientes) For i = 1 To numClientes If solicitudes(i) > 0 Then If solicitudes(i) <= baseSurtido Then surtido(i) = solicitudes(i) inventario = inventario - solicitudes(i) totalSurtido = totalSurtido + solicitudes(i) Else surtido(i) = baseSurtido inventario = inventario - baseSurtido totalSurtido = totalSurtido + baseSurtido End If End If Next i ' Repartir sobrante restante uno por uno, respetando lo pedido Do While inventario > 0 For i = 1 To numClientes If surtido(i) < solicitudes(i) Then surtido(i) = surtido(i) + 1 totalSurtido = totalSurtido + 1 inventario = inventario - 1 If inventario = 0 Then Exit For End If Next i Loop End If ' Escribir resultados en las columnas correspondientes para cada cliente For i = 1 To numClientes With ws.Cells(fila, colResultadoInicio + i - 1) If surtido(i) = 0 Then .Value = "POR FALTA STOCK" .Font.Color = vbRed Else .Value = surtido(i) .Font.Color = vbBlack End If End With Next i ' Escribir total surtido y existencia final ws.Cells(fila, colTotalSurtido).Value = totalSurtido ws.Cells(fila, colFinalInventario).Value = inventario Next fila MsgBox "Resultado surtido cargado con éxito...", vbInformation End Sub Saludos, Diego
    • Buenos dias.  Estoy trabajando en una hoja para poder llevar un control de un pequeño almacén.  Tengo un pedido con varias líneas y "lotes" y necesito sacar las ubicaciones que coincidan con la referencia y lote que pone en el pedido. El problema viene cuando tengo la misma referencia y mismo lote en ubicaciones diferentes y necesito sacar la información en columnas diferentes. No se si  me he explicado bien, pero creo que con el ejemplo adjunto se entiende mejor. Agradecería mucho si me pudieran ayudar  Libro1.xlsx
    • Exelente solución mil gracias 
  • 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.