Saltar al contenido

Formula(s) para suma de cantidades totales


Recommended Posts

publicado

No se si en parte, estoy en lo cieto.

xkr80i.jpg

Explico lo que pretendo:

Cree eses celdas coo referencia. Si ahy mejor y mas proficional solucion, mejor, si es sin las celdas de referencia mejor aun

Tengo una hoja en la cual voy dando salidas de ciertos productos mediante un recibo con varias linea (12); Columnas con; Cant Salidas, productos, precio ect. Este recibo puede tener 1, 5, 8 hasta 12 productos y cada producto su cant Salida

Pretendo que al pasar cada recibo, en la columna G de esta hoja y en cada linea de cada producto sume la cantidad de salida que ya existe mas la que sea auto-enviada desde el recibo mediante una formula.

El recibo tiene la Cant. Requerida (salida) en la columna B a partir de la linea 10, por ejemplo; en el recibo me requieren 6 de un x producto (B10), 10 de otro x producto (B11), 8 de otro X producto (B12), ect ect,

Estas cantidades deben sumarse a las salidas ya existentes en la columna G segun producto de la hoja Prod_Salidas (la de la imagen).

He echo esto que se ve en la imagen pero no soy medianamente conocedor para la creacion de una formula que me haga tal pretendido.

¿Podria alguien conocedor y experto en esto de formulas darme algun consejo o crearme formula o formulas para tal fin?

Gracias de antemano

Libro1.zip

publicado

No la tengo aun construida pero he estado luchando para que la suposición del auto-envío de la hoja del recibo parte con el mandato de impresión. Por ejemplo; en el recibo (columna B) doy salida de 6 x producto, que este 6 al aceptar la impresión del recibo, esta cantidad se sume en la columna G de la hoja Prod_Salida según el producto.

Ahora bien; quiero saber si te hace falta dicha hoja, dame tiempo para construirla porque mi trabajo es otro que no es esto de Excel ni parecido pero las plantillas para mi (personal) las he echo con ayudas.

Solo dime si te hace falta me darías tiempo para hacerla y te envió ya las dos hojas.

Quiero que sepas que la columna de Existe que ves arriba ya tiene formula para que según la cant de entrada en la hoja Prod_Entrada (via formulario), se reduce con la salida de esta hoja

=SI(Y(ESNUMERO(G2);ESNUMERO(Prod_Entrada!D2);Prod_Entrada!D2>0;ESNUMERO(Prod_Entrada!D2));Prod_Entrada!D2-G2;"")

En el caso que ves en columna D línea 2 de hoja Prod_Entrada marca 250 - 11 G2 de hoja Prod_Salidas (esta de la imagen) en existe como ves acusa 239.

Ya, te dejo el libro con las 2 hojas necesarias para lo que pretendo. Va com oejemplo la hoja Recibos, la hice apresuradamente, un ejemplo de la hja recibos

Libro1.zip

publicado

te dejo una nueva imagen con formulas nuevas. Ya inclui la hoja Recibos

L que quiero es una formula para no tener dos columnas mas ocupadas

j79ffp.jpg

publicado

Las columnas (auxiliares) las puedes ocultar, pero creo que lo que necesitas es más para macros. Aunque también puedes contar con la columna existencias (Existen). Lo que no me queda muy claro a mí, es que veo que tienes, por ejemplo, Gato repetido varias veces porque están por diferentes fechas. Eso me confunde para saber qué quieres hacer. De todas formas, para ir acumulando creo que va a tener que ser con macros, cosa en lo que no puedo ayudarte.

Lo de João te lo contesto en privado.

publicado

Lo de los gatos si porque selecione varias lineas y jale hacia abajo para así tener maior cant. de lineas ocupadas pero se le puede cambiar el nombres a las repetidas.

La columanExiste, tiene una formula

=SI(Y(ESNUMERO(G2);ESNUMERO(Prod_Entrada!D2);Prod_Entrada!D2>0;ESNUMERO(Prod_Entrada!D2));Prod_Entrada!D2-G2;"")

que ahora me doy cuenta que dicha formula no esta presente porque copie la hoja de l libro origen.

Esa formula resta desde la Hoja Prod_Entrada!D2-G2 de la hoja Prod_Salidas para que me de las cantidades existentes. seria mas fácil si esa columna no tuviera formula, pero obligatoriamente tiene que tenerla

publicado

Lo veo bastante complicado para mis conocimientos. Espero que algún experto en la materia te pueda echar una mano. "Una retirada a tiempo es una victoria..." jejeje

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.