Actualizar saldos de una hoja a otra

Si pueden ayudarme con una formula o macro para ir actualizando los saldos de los rangos que se encuentran disponibles, adjunto un ejemplo de mis hojas

ENTRADAS

Inicial final total disponible

8859301 8859500 200 0

8859601 8860100 500 400

8860201 8860300 100 100

8860401 8860900 500 500

8947401 8948300 900 900

SALIDAS

8859301 8859400 100

8859401 8859500 100

8859601 8859700 100

Como se nota en la fila 1 de la hoja Entradas, existe un rango que se tiene dos salidas de 100 cada una y actualmente ya no hay disponibilidad.

En el rango de la segunda fila de la hoja entradas, hay disponibilidad solamente de 400 pues ya en la hoja salidas hay un valor de 100.

Si pudieran ayudarme con sugerencias para hacerlo, ya sea con formulas o una macro.

1 Respuesta

Respuesta
1

Para actualizar los saldos disponibles automáticamente en función de las entradas y salidas, puedes utilizar la función BUSCARV en Excel. Te sugiero los siguientes pasos:

  1. Agrega una hoja nueva llamada "Saldos" donde se actualizarán los saldos disponibles.
  2. En la hoja "Saldos", en la primera columna, escribe los números de los rangos de la columna "Inicial" de la hoja "Entradas".
  3. En la segunda columna de la hoja "Saldos", utiliza la fórmula siguiente para obtener el saldo inicial disponible:
=BUSCARV(A2, Entradas!$A:$D,4,FALSO)

Esta fórmula buscará el número de rango en la hoja "Entradas" y devolverá el valor disponible correspondiente. 4. En la tercera columna de la hoja "Saldos", utiliza la fórmula siguiente para obtener el saldo disponible después de cada salida:

=IFERROR(B2-SUMIF(Salidas!$A:$A,">="&Entradas!$A$2:$A$6,Salidas!$C:$C),B2)

Esta fórmula resta el valor de las salidas correspondientes a cada rango (utilizando la función SUMIF) al saldo inicial disponible. Si no hay salidas para el rango, la fórmula devuelve el saldo inicial disponible. 5. Arrastra las fórmulas hacia abajo para aplicarlas a todos los rangos de la hoja "Entradas".

Con estas fórmulas, la hoja "Saldos" se actualizará automáticamente cada vez que se agreguen nuevas entradas o salidas a las hojas correspondientes.

Muchas gracias por la valiosa ayuda, las formulas funcionan perfecto, el inconveniente que tengo es que en la hoja salida el siguiente rango por ejemplo sería del 8859701   8859800   100 y el inicio de ese rango no aparece en la hoja Entradas, aunque si se encuentra dentro de un rango ya ingresado.

Realmente ese ha sido mi inconveniente, como identificar y disminuir ese rango Salida, que si esta dentro de otro rango Entrada.

En ese caso, podrías utilizar una fórmula que busque si el inicio y fin de cada rango de la hoja Salidas se encuentran dentro de algún rango de la hoja Entradas. Si es así, entonces se resta el valor de la salida de la disponibilidad del rango correspondiente en la hoja Entradas. La fórmula podría ser algo así:

=SI.ERROR(SUMAR.SI.CONJUNTO(Entradas!$A:$A; ">="&A2; Entradas!$A:$A; "<="&B2; Entradas!$B:$B; ">="&A2; Entradas!$B:$B; "<="&B2); 0)-C2; "")

Explicación de la fórmula:

  • La función SUMAR. SI. CONJUNTO busca los valores en la columna A y B de la hoja Entradas que se encuentran entre el inicio y fin del rango de la hoja Salidas.
  • La fórmula también incluye la condición de que la disponibilidad del rango en Entradas sea mayor o igual al valor de la salida en la hoja Salidas.
  • Si la función SUMAR. SI. CONJUNTO encuentra algún valor, entonces se resta el valor de la salida en la hoja Salidas de la disponibilidad del rango correspondiente en la hoja Entradas.
  • La función SI. ERROR devuelve un valor vacío ("") en caso de que la fórmula arroje un error, por ejemplo, si el rango de la hoja Salidas no se encuentra dentro de ningún rango en la hoja Entradas.

Esta fórmula debería funcionar para identificar y disminuir el valor de los rangos de Salidas que se encuentran dentro de rangos de Entradas. Sin embargo, es importante tener en cuenta que esta fórmula asume que los datos están ordenados en orden creciente por el valor inicial de cada rango. Si los datos no están ordenados de esta manera, la fórmula podría arrojar resultados incorrectos.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas