Todo se publica por Victor7
-
formula de distintos porcentajes
tema contestó a Victor7 en FEDERICO TRUJILLANO Fórmulas y funciones
Entonces, estudia la función =MAX -
formula de distintos porcentajes
tema contestó a Victor7 en FEDERICO TRUJILLANO Fórmulas y funciones
Hola, En principio, supongo que sería suficiente con: =B3*B6% ...pero si lo que quieres es que el resultado sólo se calcule cuando en B6 haya 10, 23 o 25, puedes ampliar la fórmula así: =B3*B6%*(O(B6=10;B6=23;B6=25)) Saludos, -
Hola de nuevo a todos, @RomanQH, tu consulta se ha convertido en un interesante problema. ¡Gracias por plantearlo! Yo al principio no me fijé bien, y tomé el grupo de números con un espacio tras la coma. Después vi que me equivoqué, y además no se me ocurrió pensar que podría haber más de un 0, o números con más de 1 cifra; por eso la primera fórmula que pasé no funcionaría en algunos casos determinados. La cuestión es que algunas de las propuestas planteadas hasta ahora (incluso la mía) puede que no den los resultados esperados. Supongamos, por ejemplo: 2,03,108,0,5. El segundo número lleva un 0 a la izquierda (03) y ahí no tengo claro qué resultado es el correcto. Pero ese 108, según qué fórmula se emplee, se comerá el 0 intermedio. Otra posible variable que se me ocurrió es que existan números negativos, por ejemplo: 5,3,0,-8,6 Tu demanda inicial es "obtener sólo valores mayores a 0", pero tal vez querías referirte a "eliminar los 0". Aquí también podría ser importante la interpretación correcta. En fin, he corregido mi última aportación dejándola así: =LET(a;DIVIDIRTEXTO(SUSTITUIR(A1;",";" ");" ");UNIRCADENAS(",";;FILTRAR(a;a<>"0");;)) que tiene en cuenta que no existen espacios en blanco entre números, tras la coma. Repito: ¡Muy interesante problema! Saludos,
-
Hola de nuevo a ambos, Bueno, a mí me da el resultado correcto... Sin embargo me he dado cuenta de que fallará si ponemos cifras como 10, 100, 1000,...... ya que eliminará sólo los 0 y hará cosas raras. Esta otra fórmula sí que creo que hace lo correcto: =LET(a;DIVIDIRTEXTO(ESPACIOS(SUSTITUIR(A1;",";" "));" ");UNIRCADENAS(", ";;FILTRAR(a;a<>"0");;)) Subo un archivo con los 2 resultados. Saludos, sustituir (B).xlsx
-
Pues sí, aparte del entretenimiento (actitud muy loable, por cierto), no hay mejor desiderátum que la semilla que se plante lleve el suficiente ADN de comprensión, de forma que germine bajo el cuidado de la claridad y obtengamos el fruto del resultado apetecido. Dicho de otra forma, nada más poderoso que una explicación bien planteada, capaz de evitar confusiones y ambigüedades. Siguiendo ese hilo conductor, observo una inquietante afirmación: Por más que he intentado adentrarme en esa senda, me he encontrado frente a una muralla inexpugnable: no he conseguido de ninguna forma que Excel me acepte =SUMA(C;E) bajo ninguna circunstancia: ni habilidades ni recursos han traspasado ese límite. Me gustaría saber cómo ha alcanzado tal propósito el consultante, que asegura haber obtenido un resultado. Tal vez cuando el consultante nos explique cómo se abre ese cofre sellado (cómo se introduce en Excel esa fórmula), empecemos a entender el núcleo problema, y por tanto desentrañar los misterios que lo rodean. Hasta que llegue ese momento, esperemos con avidez e impaciencia la luz de explicaciones y ejemplos que dispersen la niebla de las actuales incógnitas...
-
Compensar saldos bancarios negativos con positivos
Archivo añadido Victor7 en Dpto. financiero-económico
Version 1.0.0
2 downloads
He desarrollado un modelo (archivo adjunto) que comparto gustosamente (traspasos de efectivo entre bancos para eliminar/evitar saldos negativos), para determinar qué transferencias deben efectuarse entre las respectivas entidades para cubrir los descubiertos existentes. Vayamos con las explicaciones, mejor a la vista del archivo: Los únicos datos a introducir serán las columnas B:C, con los nombres de los bancos y los saldos existentes en cada uno de ellos (en este ejemplo proponemos 10 diferentes bancos). Las fórmulas de las columnas D:E:F nos ofrecen una visión de los saldos por separado: negativos, positivos, y las necesidades, que no son más que los negativos cambiados de signo. Es necesario plasmarlo así para facilitar futuras fórmulas. La fórmula de H2 transpone los nombres de bancos; esta fila será la base de la matriz principal para ir componiendo los movimientos necesarios que eliminen saldos negativos: abscisas=fila 2=entidades que efectuarán transferencias, y ordenadas=columna B=entidades receptoras de las mismas. La fórmula de H3 puede copiarse horizontal y verticalmente hasta donde sea necesario, para completar la matriz. En este ejemplo, sería hasta la celda Q12. Una vez completado el copy/paste, obtendremos las cantidades a traspasar. Nota: es necesario dejar una columna en blanco (en este caso la G), también para acortar y facilitar la composición de estas fórmulas. Las columnas S:T:U nos ofrecerán un vistazo global sobre la situación (saldo) inicial y final de cada una de las entidades. En T14 y U14 tenemos las respectivas sumas de cada una de esas columnas; lógicamente la posición de tesorería inicial será igual a la final, ya que no estamos ejercitando sino un juego de suma 0. Y por último, en el rango W:X:Y (1 única fórmula en W3) tenemos un valor añadido: se despliega una matriz con las transferencias necesarias a efectuar (entidades emisora y receptora e importe). La fase anterior (hasta la columna U) puede ejecutarse con cualquier versión de Excel, pero esta última requiere M365. Las celdas del rango D:Q llevan un formato personalizado que invisibiliza los 0; lo he hecho así para evitar contaminación visual, pero puede modificarse a voluntad. Otro detalle a comentar es que no se requiere ningún orden concreto para introducir los bancos, pero hay que tener presente que los desembolsos serán efectuados empezando por las primeras posiciones, hasta que vayan quedándose sin recursos. En este sentido, si tenemos alguna preferencia de conservar saldos (por ejemplo, queremos evitar que [siempre que sea posible] Caixa y BBV queden a 0, deberemos introducirlos en los últimos lugares (en el ejemplo, filas 11 y 12). Si quedan remanentes, serán estos 2 bancos los que los sigan disfrutando. Los saldos colocados en la columna C son cantidades aleatorias; cada vez que pulsemos F9 se recalculará todo el modelo. Lógicamente, los resultados deseables se darán cuando el total (celda C14) ofrezca saldo positivo. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Y ahora vayamos con los pasos necesarios si se necesita incrementar el número de Bancos. Seguiremos este orden: 1. Iremos incluyendo en las columnas B:C los nombres de bancos y sus respectivos saldos. 2. Completaremos las columnas D:E:F copiando verticalmente las fórmulas hasta el último registro. 3. Nos situaremos en R1 e insertaremos tantas columnas como sea necesario, de forma que puedan quedar recogidos todos los nuevos bancos. 4. La fórmula que hay ahora en H2: =TRANSPONER(B3:B12) la transformaremos en: =TRANSPONER(B3:Bxx) siendo xx el número de la fila donde aparezca el último banco. 5. La fórmula que hay ahora en H3: =MIN($F3-SUMA($G3:G3);BUSCARV(H$2;$B$3:$E$12;4;)-SUMA(H$2:H2)) la transformaremos en: =MIN($F3-SUMA($G3:G3);BUSCARV(H$2;$B$3:$E$xx;4;)-SUMA(H$2:H2)) siendo xx el número de la fila donde aparezca el último banco. 6. Una vez recompuesta H3, copiaremos la fórmula horizontal y verticalmente hasta xx : yy siendo xx la columna que ocupe el último banco, e yy la última fila ocupada asimismo por el último banco. 7. Las columnas S:T:U también habrá que completarlas de forma que recojan las nuevas filas ocupadas; bastará con copiarlas verticalmente. 8. No nos olvidemos de las sumas de las columnas C, T y U que ahora están en la fila 14: habrá que añadirlas al final, para verificar la bondad de los resultados. 9. Por último, la fórmula que hay ahora en W3: =LET(a;H3:Q12;b;a>0;APILARH(ENCOL(SI(b;H2#;x);2);ENCOL(SI(b;B3:B12;y);2);ENCOL(SI(b;a;z);2))) la transformaremos en: =LET(a;H3:xxyy;b;a>0;APILARH(ENCOL(SI(b;H2#;x);2);ENCOL(SI(b;B3:Bxx;y);2);ENCOL(SI(b;a;z);2))) siguiendo el mismo razonamiento que en los anteriores casos: en vez de Q12 introduciremos la última celda de la nueva matriz, y en vez de B12 colocaremos la última celda de la columna B donde haya datos. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Creo que no olvido nada, y lamento la extensión de este post, pero no he sido capaz de reducirlo. Saludos, Automatizar traspasos (C).xlsx -
Hola a todos, Hay algo que tengo la sensación (repito: tengo la sensación) de que no estás explicando bien (o quizá yo no lo sepa interpretar bien). Dices que: Bueno, no entiendo qué problema hay si te hace una suma donde algún sumando sea 0. Te va a dar el mismo resultado, por ejemplo, 7+3+5 que 7+3+0+5....... ¿Qué importa si te hace la suma con una celda vacía o una celda que tenga un 0? ??????????????
-
Bueno, por si acaso te es útil, ya que lo he hecho, te paso un archivo simplificado al máximo que contempla cómo calcular los datos que te interesan. Hay 2 vertientes (suma, en la columna B), y recuento de registros (columna G). Como verás, todos los totales coinciden con las sumas de los parciales. Dada la gran cantidad de celdas combinadas que tiene tu modelo, una forma fácil de obtener resultados es servirse de una fila auxiliar (en este caso la 1) donde se introduzcan las iniciales del grupo al que pertenezca esa columna, a fin de facilitar la confección de fórmulas. No hagas caso de los datos P22:V22; son cifras aleatorias para dejar en blanco algunas columnas de la fila 4. Todos los datos introducidos son cifras aleatorias; cada vez que pulses <F9> se recalcularán automáticamente, ofreciendo resultados diferentes. Los espacios en blanco que hay en las fórmulas no son necesarios; lo he hecho así para facilitar su lectura y comprensión. En fin, quizá pueda darte alguna idea de cómo enfocar futuros cálculos sobre aspectos similares. Saludos, Excel2 (B).xlsx
-
¿Dónde está ese ejemplo? ¿En qué celda/s o rango/s? ¿Qué día? ¿Cuál es el resultado esperado de ese ejemplo concreto? ¿Cómo debería obtenerse/calcularse?
-
Hola, Sería interesante tener algunos resultados concretos de lo que buscas, para asegurar el tiro en el momento de ofrecer soluciones. Por lo que veo, los colores son asimilables a textos, lo que puede facilitar la composición de fórmulas. Así, cuando dices "...seleccionando el color me cuente cuántas celdas tienen número...", si ofreces 1 o 2 ejemplos de qué resultados esperas, y dónde (celda/s), tal vez podamos ofrecerte alguna idea sobre cómo acometer el trabajo... Saludos,
-
Hola de nuevo, Sólo como comentario: No he utilizado SI.CONJUNTO, sino SUMAR.SI.CONJUNTO Son dos funciones diferentes, con características y prestaciones también diferentes. Saludos,
-
Hola, Puedes emplear esta fórmula: =SUMAR.SI.CONJUNTO(B.D!D3:D11;B.D!C3:C11;A3:A5;B.D!B3:B11;E3) que te dará los 3 resultados conjuntos. He dejado los rangos en vez de los enunciados/tabla, para entender mejor cómo trabaja la fórmula. Saludos,
-
Hola, Lo más práctico es que asignes a la celda destino un formato personalizado similar a éste: #.##0;-#.##0; lo que convertirá los 0 en invisibles. Saludos,
-
No entiendo por qué te da ese mensaje............... Revisa el adjunto. Personal.xlsx
-
Si lo ves claro, perfecto; lo que me parece es que puede haber algún punto de contradicción entre la 2ª y 3ª validaciones; por ejemplo: –> La suma H8:K8 da 800 y en G8 hay 500. Según la 2ª validación, debe mostrarse el nombre de la empresa, ya que 800 > 500. Sin embargo, según la 3ª validación, como 800 es inferior a 3.005,05, no debería mostrarse el nombre de la empresa. ?
-
Hola, Te dejo respuesta a la primera comparación: =SI(Y(A8="Ventas"; SUMA(H8:K8)>G8); NomC;"") La combinación =SI(Y....... controla: 1. Que en A8 figure "Ventas" (sin las comillas, claro). 2. Que la suma H8:K8 sea superior a G8. Si se cumplen ambas expectativas, nos devolverá NomC (que puede cambiarse por la celda donde esté el nombre de la empresa), y en caso contrario, una cadena vacía, o sea ese "" del final de la fórmula. El "" puede sustituirse por otro texto o celda, a voluntad. Las otras 2 combinaciones puedes conseguirlas fácilmente siguiendo la idea y estructura de esta fórmula. Saludos,
-
Hola, No tengo claro si va a funcionar correctamente en Excel-2019: =@FILTRAR(L$10:AL$10;(L11:AL11<>"F")*(L11:AL11<>"")) Esta otra no debería dar ningún problema: =DESREF(K$10;;COINCIDIR(1;(L11:AL11<>"F")*(L11:AL11<>"");)) La fórmula iría en K11 y deberá copiarse verticalmente hasta donde sea necesario. Saludos,
-
Cómo seria la fórmula de fecha para este caso
tema contestó a Victor7 en joset99 Fórmulas y funciones
Pues no sé,... intenta poner una fecha completa, por ejemplo 1/11/2008, a ver si así la reconoce como tal... Es posible que los móviles no ofrezcan las mismas prestaciones que los ordenadores. Saludos, -
Cómo seria la fórmula de fecha para este caso
tema contestó a Victor7 en joset99 Fórmulas y funciones
Hola, Para la primera, prueba con: =FIN.MES(B2;1) y para la diferencia de meses: =1+SIFECHA(C2;E2;"M") Asegúrate de dar a la primera celda destino formato de fecha, y a la segunda formato número. Saludos, -
Hola, No sé si lo he entendido, pero prueba con: =SI(A6="24*";A6;"PF12M, 1½A") Si no es lo que buscas, mejor sube un archivo con varios ejemplos resueltos de lo que tienes y lo que esperas conseguir, para entender del todo lo que buscas. Saludos,
-
Sí; algo mal salió en la foto de mi anterior post; el Solver queda así: Establecer objetivo: $K$5 Para: Máx Cambiando las celdas de variables: $N$2 Sujeto a las restricciones: $N$2<=10 $N$2>=0,01 y, recordemos, en K2 tiene que introducirse la fórmula: =REDONDEAR(N2;2) - - - - - - - - - - - - Para conocer el 2º máximo, por lo que veo, normalmente será el múltiplo de 0,01 anterior al obtenido (en este caso sería 1,10), pero se me ocurre que puedes lanzar otro Solver, con la restricción $N$2<número anteriormente obtenido. Saludos,
-
He hecho una simulación, que no sé si te servirá para algo, pero ahí va la imagen: La idea: Cualquier número con sólo 2 decimales es múltiplo de 0,01. Partiendo de ese axioma, introduzco como nueva celda de búsqueda N2, en K2 una fórmula para que me la redondee a 2 decimales, y restrinjo únicamente los valores máximo y mínimo de N2. Con ello deberían cumplirse los objetivos buscados (¿supongo?). Solver devuelve 1,10804002, como puede verse en la imagen, que redondeado a 1,11, ofrece ese máximo de 0,083504,... que sinceramente, no tengo ninguna sensibilidad sobre si es una cifra que se acerca a lo que estés buscando. ? Saludos,