Saltar al contenido

Componer un valor total a partir de sus sumandos


Invitado Cacho R

Recommended Posts

Invitado Cacho R

Este tema ha generado una gran cantidad de versiones a lo largo y a lo ancho de los foros sobre Excel.

La problemática de fondo es siempre la misma: cuantos más sumandos se deban considerar, más ineficiente torna el método de resolución.

Inclusive es habitual ver que se pongan límites: - "No más de 20 sumandos", por ejemplo.

En fin: aquí adjunto una versión "revisada" de otra versión que hice hace algunos años.

En este caso (y siempre comparando con mi desarrollo anterior), advierto que los resultados se entregan de entre un 30 a un 70% más rápido según los casos.

Esta versión no requiere de especificación máxima alguna. Sin embargo, si deseamos determinar los sumandos que componen un lote de valores totales, es mucho más eficiente buscar -primero- los componentes de los lotes más pequeños y, una vez determinados: retirarlos de la lista inicial (esto último se hace "en automático").

Espero que les sea de utilidad.

Saludos, Cacho R.

Componer sumas.rar

Enlace a comentario
Compartir con otras webs

Invitado Cacho R

Para completar el panorama sobre este tema de bastante interés para los "conciliadores de cuentas", me ha parecido razonable brindar las dos "visiones" posibles:

  • Una solución para varios objetivos (Componer suma-v2.rar)
  • Varias soluciones para un mismo objetivo (TusharTarget.rar)

La primera es una versión "corregida y aumentada" del archivo mostrado en mi primer mensaje. En efecto: además de ser decenas de veces más veloz que la versión anterior, cumple la necesidad de buscar varios objetivos simultáneamente.

La segunda visión del tema es un "tremendo" y muy reconocido análisis (ver página VBA code to find multiple matching combinations) que satisface -básicamente- la necesidad de obtener varias combinaciones posibles para un mismo objetivo.

Nuevamente: ¡Espero que les sea de utilidad!

Cacho R.

Enlace a comentario
Compartir con otras webs

Invitado Cacho R

Gracias, Rolano, por tu consideración y aprovecho para decir que he introducido un par de cambios "estéticos" y operativos -en ambos archivos- para brindar mayor comodidad de uso.

Los he subido en el primer mensaje.

Saludos, Cacho R.

Enlace a comentario
Compartir con otras webs

Cacho

Se que a veces pensaras (como yo tambien) que nuestros aportes no valen la pena! pero cada cosa con su caso, o cada caso con su cosa, es decir por lo menos yo (honestamente te lo digo) no entiendo mucho el objetivo, seguramente porque lo he mirado por encima o vaya yo a saber que algun dia este gran trabajo que has desarrollado sea el numero 1 para mi (o para muchos)

Que piensas?

Saludos mi estimado y sigue sin cesar, que aunque muchos no te lo comenten seguro este tema servira a los que como bien mencionas buscan este tipo de estadisticas

Enlace a comentario
Compartir con otras webs

Invitado Cacho R
... no entiendo mucho el objetivo, seguramente porque lo he mirado por encima o vaya yo a saber que algun dia este gran trabajo que has desarrollado sea el numero 1 para mi (o para muchos)

Que piensas? ...

Un ejemplo simple (hay variantes, por supuesto) a los efectos de explicar a que se apunta con esto (dicho sea de paso, el gran Héctor Miguel también ha aportado sobre esta cuestión: Localizar Varias Sumas Excel)...

-> Tu empresa vende 20 productos que valen $150 c/u en tres pagos de $50 (los pagos "al contado" no ofrecen problemas administrativos).

-> Cuando te pagan "los 50" -en realidad- te endosan cheques y/o transfieren bancariamente valores diversos. Por ejemplo:

50 = 12,50 + 27,25 + 10,25

ó

50 = 6,91 + 24,55 + 18,54

-> Y fueron 20 productos que te han ido pagando de este modo.

Al cabo te interesa saber:

.) ¿Qué pagos correspondieron a qué venta? (piensa que en el caso real, no -necesariamente- te han pagado el total de los $50 pues que -a lo mejor- hoy hiciste una nueva venta y te depositaron $16,48, o -podría ser- que alguien no te pagó la tercera cuota).

.) ¿Comprendes -entonces- que "los contables" tienen el detalle de lo cobrado (la columna C de mi archivo), el total de lo abonado por cada cliente (la columna E de mi archivo)... ¡Pero se las ven "en figurillas" para imputar contablemente a que venta corresponde cada pago parcial!?...

.) Por supuesto: si un cliente va hasta tu empresa y te paga una cuota en efectivo... pues le extiendes el recibo y ese pago estará identificado.

Pero si te paga con un cheque tú lo depositas. Luego ese valor te aparece en el detalle bancario: ¿Cómo lo identificas (imagina esto multiplicado por 50/60 pagos)?

Como verás: ¡Es un tema de conciliación complicado!

Enlace a comentario
Compartir con otras webs

Cacho

Ahora si! entiendo... como ves la parte de pagos no es mi fuerte (jaja aunque mi compañera aqui estara mas que contenta con tu aporte), pero con tu brillante/exclente explicacion, quien no entenderia? (si lo entendi yo jeje)

Parece que esta leccion es buena cada vez que subimos un aporte en este apartado, no crees? es decir explicar (mas o menos simple) un poco sobre el objetivo real de nuestro archivo, no lo tomes tan en serio, es solo una reflexion despues de tu grandiosa explicites

Saludos a ambos!

Enlace a comentario
Compartir con otras webs

Invitado Cacho R
... Me lo estudiaré a fondo porqué reconozco que soy un autentico inepto en el tema de composición combinatoria...

Este código te decepcionará en ese sentido...

¡En efecto! a diferencia de los temas estrictamente combinatorios (ver https://www.ayudaexcel.com/foro/ideas-aportes-64/combinaciones-sin-repeticion-caso-especial-22709/) aquí el enfoque es MUY distinto.

O sea: mientras que aquellos son "procesos bobos" que determinan todas las combinaciones posibles, aquí se trata de un "proceso inteligente" que determina -directamente- la mejor combinación posible.

Y ésa es -entre otras- la principal diferencia de concepto respecto del trabajo de Tushar. O sea: de todas las combinaciones posibles, Tushar establece rápidamente las que suman el objetivo.

Por mi parte: de todas las combinaciones posibles, establezco la mejor combinación compatible con el procesamiento de un lote de objetivos.

En resumen: te sugiero (para el tema de las combinaciones) ver aquel enlace referido.

Te mando un abrazo, Cacho R.

Enlace a comentario
Compartir con otras webs

  • 6 months later...
Invitado Cacho R
Hola,

Al igual que Gerson Pineda, tampoco veía cual era la aplicación páctica de esa composición de valores...

Te sugiero que guardes el enlace a estos archivos por si -en tu próxima vida- tienes que desempeñarte (laboralmente) en algún área administrativo-financiera.

(jajajajaj)

Enlace a comentario
Compartir con otras webs

Muchas gracias, es excelente y muy útil el archivo que has hecho.

Yo soy contador/financista y le veo mucha utilidad al momento de conciliar Cifras.

Este tema ha generado una gran cantidad de versiones a lo largo y a lo ancho de los foros sobre Excel.

La problemática de fondo es siempre la misma: cuantos más sumandos se deban considerar, más ineficiente torna el método de resolución.

Inclusive es habitual ver que se pongan límites: - "No más de 20 sumandos", por ejemplo.

En fin: aquí adjunto una versión "revisada" de otra versión que hice hace algunos años.

En este caso (y siempre comparando con mi desarrollo anterior), advierto que los resultados se entregan de entre un 30 a un 70% más rápido según los casos.

Esta versión no requiere de especificación máxima alguna. Sin embargo, si deseamos determinar los sumandos que componen un lote de valores totales, es mucho más eficiente buscar -primero- los componentes de los lotes más pequeños y, una vez determinados: retirarlos de la lista inicial (esto último se hace "en automático").

Espero que les sea de utilidad.

Saludos, Cacho R.

Enlace a comentario
Compartir con otras webs

  • 5 months later...
  • 7 months later...

Gran herramienta

hay la posibilidad de aumentantar las cantidades, a mi me genera un error , y me di cuenta que es por la cantidad de los numeros puestos...

adjunto el archivo espero de su ayuda

no se si hay posibilidad de poner un codigo con numeros ilimitados...

ya que cuando son cantidades muy grandes genera los errores,,,,,,,

espero una respuesta pronta...

Componer suma-v2.rar

Enlace a comentario
Compartir con otras webs

Si, Muy gran y buena herramienta.

Saludos excel-entes y feliz año 2014

¿que tal si al usar un valor para un objetivo lo elimino de la lista para no volverlo a usar?

ejemplo. si en la lista:

...

75.26

452,08

75.26

...

si uso un 75.26 para un objetivo(lo elimino de la lista) solo queda un 75.26 para otro.

El usuario ordenara sus objetivos de mayor a menor o nemor a mayo segun su conveniencia por prioridad de objetivos.

seria fabuloso

Esto esta editado. 8/1/14

Son validas las dos opciones:

1- que se usen todos los elementos para resolve todos los objetivos y

2- que se eliminen los usados en cada objetivo ( esta es para pocos, 2 o 3 objetivos) y ademas se deben mostrar los elementos no usados, es sumamente importante.

Enlace a comentario
Compartir con otras webs

Archivado

Este tema está ahora archivado y está cerrado a más respuestas.

  • 96 ¿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
      177
    • Comentarios
      90
    • Revisiones
      27

  • Crear macros Excel

  • Mensajes

    • Hola, Mejor que subas un archivo que contenga esas fórmulas, indicando qué resultados esperas conseguir. Así ayudas a quien quiera ayudarte; no le obligas a que reproduzca ese modelo, y de paso podrá ver cuál es el objetivo buscado con esa/s fórmula/s. Saludos,
    • Buenas noches quisiera hacer esta formula auto incremental    =SI(INDIRECTO("'Casos de Prueba'!I1")="Resultados Ciclo 1"; SI(CONTAR.SI(INDIRECTO("'Casos de Prueba'!I:I"); "OK")=0; 0; CONTAR.SI(INDIRECTO("'Casos de Prueba'!I:I"); "OK")); 0)      para que cada vez que copiase y pegase la celda con la formula  se incrementara la letra en este caso la I pasara a J ,como el numero perteneciente a Resultados Ciclo pasando en este caso del 1 al 2.   Tengo también esta formula =CONCATENAR("CP";TEXTO(MAX((SI((ESNUMERO(HALLAR("CP";A$1:A1)))*(A$1:A1<>"");VALOR(EXTRAE(A$1:A1;3;3));0))+1);"000")&" - "&B2) quisiera que no tuviera los 3 ceros si no que fuera por ejemplo CP1 y se fuera incrementando. Gracias un saludo.
    • Con el diseño así como lo tiene en su libro, una fórmula de BUSCARV con COINCIDIR debería ser de utilidad =C5*BUSCARV($C$1,Tabla1[#Todo],COINCIDIR($D5,Tabla1[#Encabezados],0)) Es con lo que participaría en su consulta. Lo que resta es definir que hacer si no encuentra la OT porque así como esta le devolvería error en ese caso, o si tiene condiciones que haya podido omitir también le afectarían el resultado.
    • He cambiado mi macro a este: Sub repetir() Set a = Sheets(ActiveSheet.Name) uf = a.Range("C" & Rows.Count).End(xlUp).Row 'ultima fila con datos ActiveCell.Select ActiveCell.Offset(1, 0).Select   'Application.OnTime Now + TimeValue("00:00:10"), "repetir", , True End If End Sub   Lo que no se es como detenerlo al llegar a la ultima fila con datos de la columna C. Muchas gracias
    • Buenas tardes a todos. Tengo un problema que preciso de vuestra ayuda.  Tengo que controlar los gastos de la oficina que trabajo y he de repartir unos gastos a % según una OT y unos tipos de gastos. Envío un archivo adjunto. Lo que necesito es que lo que aparece en la columna en amarillo lo haga automáticamente, teniendo en cuenta los datos de la tabla a la derecha. Por ejemplo, el primer gasto tiene una cuota de 1477 euros y teniendo en cuenta que es un gasto de tipo Común y que la OT es la 12810234, le corresponde un gasto de 605,57 euros ya que según la tabla de la derecha su % a imputar es de un 41%. ¿alguien me puede ayudar con la formula? He de añadir muchas más líneas y más hojas con el resto de OT y en el futuro cambiar más datos, así que necesito automatizarlo con una formula Excel. Gracias. Control de gastos.xlsx
  • 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.