miércoles, 8 de julio de 2009

Ejemplo funciones anidadas: SI.

Tras el análisis de la función financiera AMORTIZ.LIN, y siendo una persona un poco 'enrevesada', decidí ponerme a investigar la forma de llegar a una solución similar mediante el uso de funciones anidadas, en concreto empleando la función SI, ya vista en un post anterior. Y he llegado a la siguiente solución:

Amortizaciones SI
Amortizaciones SI....
Hosted by eSnips


Me gustaría ser capaz de explicar cómo he llegado a esa solución, pero mi lenguaje, por desgracia, no es tan rico. Sirva a modo introductorio que he entendido que cada fecha de estudio (ene-0, feb-09, ..., dic-09) sólo puede estar localizada en tres situaciones temporales delimitadas por la Fecha de inicio de amortización y por la Fecha final de amortización, y que en cada situación la cuota de amortización mensual de cada activo es única.


Al menos espero que sirva de ejemplo de cómo utilizar la imaginación para replicar funciones dadas en Excel...

13 comentarios:

  1. Estimada Claudia,
    agradezco tu opinión. En mi experiencia laboral este desarrollo, te aseguro, me salvó y sacó de mas de un apuro...
    Gracias de todas formas por tu franqueza. Quizá tu puedas aportar una nueva visión del tema y dirigirme hacia el camino correcto.
    Un saludo

    ResponderEliminar
  2. ABRAHAM MUÑOZ

    MUY BUEN A PORTE AMIGO, EXCELENTE

    ResponderEliminar
  3. Oscar Albertoabril 30, 2010

    miRE TENGO UNA BASE DE DATOS Q EN LA COLUMNA A2 TIENE EL SGTE DATO 0000000114 Y EN LA COLUMNA B2 TENGO AMERICA MOVIL SAC Y ASI SUCESIVAMENTE PERO CUANDO QUIERO UTILIZAR LA FUNCION BUSCARV PARA ENCONTRAR QUIZAS 0000000115 NO ME PERMITE QUIERO SABER CUAL ES LA FORMULAR PARA BUSCAR ESTE TIPO DE DATO 0000000115 MI CORREO ES oscar_siaf@hotmail.com

    ResponderEliminar
  4. Hola Oscar,
    probablemente el problema sea que en tu columna A tienes datos numéricos, con un formato de celda '0000000000'; por lo que al BUSCARV deberías darle como 'valor_buscado' sólo el valor '115' (que es realmente el valor de la celda...).
    La otra opción, menos probable, es que tengas en tu columna A valores de texto con ese formato, en cuyo caso deberás darle buscar, dentro de BUSCARV, el 'valor_buscado' 0000000115.
    Slds

    ResponderEliminar
  5. Buenos días,
    ¿cómo puedo establecer un valor mínimo determinado en una celda?
    Por ejemplo después de calcular el importe bruto a percibir por un trabajador (despues de sumar comisiones restar IRPF, etc...), el saldo mínimo a percibir nunca será inferior a 1200 €.
    Muchas gracias!!

    ResponderEliminar
  6. Hola,
    quizá con un condicional SI.
    Desconozco cuales son tus criterios, pero un ejemplo sería:
    =SI(calculo<1200; 1200; calculo)
    siendo 'calculo' la operación que realices del importe bruto (después de comisiones, IRPF, etc)...
    Slds

    ResponderEliminar
  7. ExcelForo, funciona, muchas gracias por tu ayuda!!

    ResponderEliminar
  8. Hola, en la configuración de la valiación de datos, no puedo crear una lista a partir de datos que estén en otra hoja???
    Lo he intentado de mil maneras y no doy con la solución. ¿Alguien puede ayudarme? Gracias!

    ResponderEliminar
  9. Hola!,
    para poder relacionar rangos entre hojas diferentes, debes primero asignar un nombre al rango de celdas. Luego ya podrás utilizarlo en la validación de datos tipo lista en otras hojas.
    Slds

    ResponderEliminar
  10. Gracias Excelforo, estás siendo de gran ayuda!

    ResponderEliminar
  11. En la formula siguiente hay algo que está mal y se me escapa: error #¡VALOR!, ¿sabe alquien por qué? Un saludo
    =SI(Y(A2<=100;C2="contado");$B$14;$C$14);SI(Y(A2>100;A2<150;C2="contado");$B$15;$C$15);SI(Y(A2>150;A2<150;C2="contado");$B$16;$C$16);SI(Y(A2>200;C2="contado");$B$17;$C$17)

    ResponderEliminar
  12. Hola,
    el error viene por que no estás anidando las distintas condiciones dadas con las funciones SI, para que te funcione correctamente, anidándolas deberá ser algo parecido (sin ver la distribución de datos no lo puedo saber) a esto:
    =SI((((Y(A2<=100;C2="contado");$B$14;SI(Y(A2>100;A2<150;C2="contado");$B$15;SI(Y(A2>150;A2<150;C2="contado");$B$16;SI(Y(A2>200;C2="contado");$B$17;$C$17)
    el valor de A2 sólo puede estar en uno de los intervalos definidos (<=100, entre 100 y 150, etc)...
    Si no lo ves claro envíame el ejemplo a
    excelforo@gmail.com
    Slds

    ResponderEliminar