jueves, 30 de julio de 2009

Ejercicio Funciones de bases de datos.

Como continuación del Ejemplo para funciones de bases de datos propondremos un nuevo ejercicio, que en cierta ocasión tuve que desarrollar.
Se solicitó que en base a la información disponible en nuestros sistemas contables de gestión, elaboráramos un informe todas las empresas del grupo, con el fin de determinar con qué tipología de proveedores trataba el grupo (y las empresas individuales que lo componían); en concreto - entre otras informaciones - se solicitó un detalle de el número de proveedores con el que trabajamos durante el último ejercicio, respondiendo a un criterio de clasificación según el total facturado por éstos en ese ejercicio.
Es decir, primero elaboramos un listado de todos los proveedores acumulando su total facturado en el último ejercicio, extrayendo la información directamente del sistema contable. De cada proveedor dispuse entonces de un importe de total facturado. A partir de este listado sencillo se pudo discriminar y obtener la información solicitada. En aquella ocasión se emplearon las funciones de bases de datos. Nos decantamos por esta opción, en lugar de las Tablas dinámicas por la rapidez en aplicar éstas a unas agrupaciones por importes desiguales:


Teníamos que averiguar el número de proveedores cuyo facturado estuviera comprendido en cada uno de los intervalos de ese listado.
Empleamos las siguientes funciones de base de datos:
=BDCONTAR(A:C;"Importe";F3:H4)
para contar el número de registros (y por tanto de proveedores) en los que el campo Importe (i.e., el facturado anual) cumpliera el rango de criterios, es decir, estuviera comprendido entre las cantidades facturadas indicadas.
=BDSUMA(A:C;"Importe";F3:H4)
para sumar aquellos registros (esto es, proveedores) en los que el el facturado anual estuviera comprendido entre las cantidades facturadas indicadas.


La interpretación de los resultados obtenidos sería, para el segundo rango, que existen 98 proveedores que durante el ejercicio contable anterior facturaron cada uno de ellos entre 0 y 6.000 eur; y que además el facturado acumulado de estos 98 proveedores era de 118.968,82 eur.

Ejemplo de Funciones para Bases de datos.

Ocurre en ocasiones que al trabajar con nuestro listados, o con nuestras bases de datos en Excel, no son suficientemente potentes la 'funciones normales' de Excel; por ejemplo por que necesitamos una suma condicionada a varios de los campos de nuestro origen de datos. Normalmente con la función SI, o con la suma condicionada SUMAR.SI (ambas ya vistas en diferentes post de ese blog) podíamos concluir nuestros análisis, de una forma elaborada.
Pero existen algunas funciones de bases de datos (así categorizadas por Excel en el listado de funciones), que aunque pocas, reproducen especialmente diseñadas para Bases de datos de Excel las funciones más básicas (SUMA, CONTAR, PROMEDIO, MAX, MIN, PRODUCTO, etc.); las diferenciamos por que estas funciones de bases de datos comienzan con 'BD' (BDCONTAR, BDSUMA, etc).
Lógicamente estas funciones necesitan una manera particular de ser definidas, es decir, a la hora de incorporarle sus argumentos habrá que pensar de diferente forma -condiciones o criterios aplicados sobre distintos campos-.
Los argumentos mencionados son siempre tres, para todas estas funciones:
Base_de_datos es el rango de celdas que compone la lista o base de datos. Una base de datos es una lista de datos relacionados en la que las filas de información son registros y las columnas de datos, campos. La primera fila de la lista contiene los rótulos de cada columna.
Nombre_de_campo indica el campo que se utiliza en la función. Nombre_de_campo puede ser texto con el rótulo encerrado entre dobles comillas, o como un número que represente la posición de la columna en la lista: 1 para la primera columna, 2 para la segunda y así sucesivamente.
Criterios es el rango de celdas que contiene las condiciones especificadas. Puede utilizar cualquier rango en el argumento Criterios mientras éste incluya por lo menos un rótulo de columna y por lo menos una celda debajo del rótulo de columna que especifique una condición de columna.
Es importante remarcar este argumento de Criterios, ya que para poder ejecutar estas funciones de Bases de datos, necesitaremos un rango independiente de nuestro listado de datos a analizar.
Propondremos un ejemplo sencillo donde poder practicar algunas de estas funciones. Tenemos un listado sacado de nuestro diario contable, en el que tenemos información de la Fecha del registro contable, de la Cuenta de gasto empleada, si proede de una factura o de un abono y del importe (nos aparecen todos en positivo, ya que el signo no lo indica ese campo factura/abono):


Plantearemos varias preguntas sobre ese listado e iremos viendo la forma de responderlas con estas fuciones de bases de datos.
Si necesitamos conocer cuántos registros he tenido en mi contabilidad con la cuenta 622, entonces aplico sobre el listado la función =BDCONTAR($A$1:$D$24;"Cuenta";F4:F5)
Nos fijaremos que el tercer argumento de criterios(F4:F5) nos dirije a unas celdas definidas por mi.
Si pretendemos saber cuál ha sido el acumulado en euros de todas nuestras facturas, aplico la función =BDSUMA(A1:D24;"Importe";$F$9:$F$10)
Si quisiera discriminar todas aquellas facturas de mi listado cuyos importes estuviera comprendido entre 0 eur y 5.000 eur resumiría con la siguiente función
=BDSUMA($A$1:$D$24;"Importe";F12:H13)


Una regla general a todas estas funciones, para saber cómo aplicarlas es: dentro del origen de datos seleccionado, ejecútame la operación dada por la funcion BD sobre el campo del segundo argumento, pero condicionada por el rango de condiciones sobre distintos campos.

P.D.: La forma de entender estas funciones de base de datos es muy similar a la empleada con los Filtros avanzados -dedicaremos una entrada en el futuro a este tema-.

miércoles, 29 de julio de 2009

Ejemplo de agrupación en una Tabla dinámica.

Echaremos un vistazo a la manera de agrupar elementos de un campo en una Tabla dinámica. Ya vimos en el post Modificación de una Tabla dinámica la forma en que se agrupaban campos de nuestro origen de datos cuyos elementos eran Fechas; en ese caso cuando seleccionabamos la opción de agrupar se activaba un asistente de agrupación temporal (por meses, trimestres, años, etc). En esta entrada practicaremos la forma de agrupar los elementos de un campo que conceptualmente sean agrupables. En cierto modo analizaremos otras variables, otros campos, de nuestro origen de datos en función de agrupaciones de elementos.
Supongamos nuestro ejemplo con registros diarios de unidades vendidas de manuales por nuestro comerciante, con información adicional de los volumenes de ingresos obtenidos cada día por la venta de aquellos. Podría nuestro tendero necesitar un estudio de qué volumen de ingresos acumulado ha obtenido por agrupaciones de unidades vendidas a lo largo del 2008. Por ejemplo, cuántos ingresos ha alcanzado cuando vendía entre 50 y 99 manuales. Aplicando el criterio de agrupación sobre nuestra tabla dinámica obtendremos ese resultado.
Los pasos a seguir son:
1-Incorporar el Campo 'Número de ventas' al área de filas.
2-Click del botón derecho del ratón sobre el Campo recién añadido, y seleccionar Agrupar y mostrar detalles - Agrupar.
3-En el cuadro diálogo activado, señalar el intervalo de agrupación deseado sobre los valores del campo 'Número de ventas', 50 por ejemplo; el comienzo y final de los valores se rellena de manera automática (aunque siempre podremos definirlo a nuestra necesidad).
Lo podemos visualizar en el siguiente video:


Interpretamos los resultados. El ingreso acumulado de todos los registros (días en nuestro ejemplo) en los que se han vendido entre 0 y 49 unidades ha sido de 129.200 eur. Sería el resultado de ir sumando línea a línea (registro a registro por cada día) que cumpla la condición que el número de unidades vendidas esté entre 0 y 49. ingresosLa misma lectura para el resto de intervalos generados.
La respuesta entonces a la pregunta de nuestro comerciante será que los ingresos alcanzados todas las veces que vendío entre 50 y 99 manuales ha sido de 231.555,00 eur.

martes, 28 de julio de 2009

Opciones de un campo de Tabla dinámica-2.

Como continuación al ejercicio de la entrada anterior Opciones de un campo de Tabla dinámica, veremos una nueva posibilidad de autocálculo empleando esta herramienta.
Sobre el ejemplo original hemos añadido nuevos registros para que el resultado que vayamos a obtener sea más visible; tan sólo hemos incorporado registros de dos meses más y los hemos incorporado a la Tabla dinámica. Partiremos, entonces, desde esta posición.
En primer lugar, añadiremos a la estructura de Tabla dinámica previamente creada el campo 'Número de ventas' (recordamos que en área de datos pueden repetirse el mismo campo tantas veces como deseemos; situación que no se puede dar en las demás áreas); y será en este campo recien incorporado al que daremos una configuración especial desde las opciones habilitadas a tal efecto. En esta ocasión obtendremos cual es el crecimiento habido respecto los datos de unidades vendidas del mes anterior, i.e., medirá la variación intermensual:
(febrero - enero)/enero
y así sucesivamente. Aplicaremos Configuración de campo al último incorporado (Número de ventas) y activaremos el botón de opciones, para seleccionar en 'Mostrar datos como: '% de la diferencia de'. Usaremos el 'Campo base' para analizar la variación de la Fecha (ya que pretendemos analizar la variación según los meses), y tomaremos como 'elemento base' el mes anterior.
Tras finalizar veremos que el último campo añadido ha cambiado su aspecto, reportándonos la variación intermensual entre el mes actual y el mes anterior.
Lo vemos en el video:


La interpretación de los valores obtenidos sería que el incremento entre enero y febrero del número de unidades vendidas ha sido del 394,93%; de febrero a marzo una subida de unidades de manuales vendidos de 98,19%; y entre marzo y abril otra subida de 41,84%.
En resumen, incorporamos el campo del listado de campos de tabla dinámica sobre el que pretendamos realizar el análisis, en nuestro ejercicio, el campo 'Número de ventas' (es decir, queremos ver la variación de unidades vendidas). Después, y desde las opciones de campo, definimos cómo queremos que sea ese análisis, eligiendo desde 'Mostrar datos como:' el tipo de comparativa deseada, en nuestro ejemplo, pretendemos comparar un mes con el anterior, por lo que seleccionamos un 'campo base' adecuado a tal fin (el campo Fecha), y por último le indicamos con qué elemento de ese campo base debe compararse.
Por supuesto añaddiremos en la misma Tabla dinámica tantas estadísticas como deseemos.

Opciones de un campo de Tabla dinámica.

Existe una posibilidad dentro de la configuración de un campo de tabla dinámica con la que podremos definir cada elemento como un porcentaje sobre otro elemento de la Tabla dinámica.
Desde la Configuración de campo desplegaremos el botón de opciones, donde elegiremos cómo deseamos medir los valores de ese campo a configurar, de acuerdo a un listado de proporciones sobre un total del campo, o sobre un total de la fila o de la columna, o una variación sobre algún otro valor del mismo campo a determinar, etc.
Para nuestro ejercicio de Tabla dinámica analizaremos cómo se distribuyen porcentualmente tanto las unidades vendidas de manuales como sus correspondientes volúmenes de ingresos. Para tal fin, incluiremos dos campos que ya teníamos en nuestra estructura de Tabla dinámica, agregaremos arrastrando desde el listado de campos el campo 'Numero de ventas' y el campo 'Importe de ventas'. Tras esta operación los configuraremos y definiremos para el cálculo en porcentaje de cada valor del campo sobre el total absoluto del campo. Esto lo haremos desplegando las opciones y en 'Mostrar datos como:' seleccionaremos '% del total'.
Veamos en el siguiente video.


La interpretación del resultado es que el 17.51% de todas las unidades de manuales vendidas se realizaron en enero, y que el 82,49% en febrero. En este caso hablamos sobre el total de unidades vendidas, no de la variación sobre promedios. De igual forma se hizo para conocer la distribución porcentual de los ingresos entre los distintos meses, obteniendo que a enero correspondió el 17,92% de todos los ingresos realizados hasta la fecha, y un 82.08% para febrero.
Lo interesante de esta especial configuración es que según se vaya incrementando el número de datos en nuestro origen de datos, no tendremos la necesidad de volver a configurar la estructura de nuestra tabla; automáticamente los nuevos valores se incorporarán dentro de la estructura de Tabla dinámica en su lugar, y todos los subtotales o cálculos existentes se actualizarán a la nueva situación.

lunes, 27 de julio de 2009

Modificación Tabla dinámica y Agrupación de un campo.

Aprendimos lo básico para crear una Tabla dinámica; ahora veremos en qué forma podemos modificar alguna de las características de una Tabla dinámica previamente creada.
Supongamos sobre nuestro ejemplo que ahora dispone, además de la información de número de manuales vendidos, el importe generado por dichas ventas (una nueva columna en el origen de datos). Pretendemos, en primer lugar, incorporar esta información en nuestra Tabla dinámica, para posteriormente analizarla conjuntamente con el número de ventas. Por otro lado agruparemos un campo de la Tabla dinámica de manera automática, de tal forma que obtengamos finalmente un Tabla cruzada con Fechas (agrupado en meses) con un Promedio de campo (número de ventas) y un Subtotal por mes del importe generado por las ventas.
Serán pasos claves:
  • Incorporar la nueva columna, i.e., modificar el rango del origen de datos. Posteriormente incluirla como parte de la estructura de la Tabla: Botón derecho del ratón sobre la Tabla dinámica, abrir el asistente para Tablas dinámicas e ir un paso atrás hasta el paso 2, donde reasignaremos el rango de datos. Tras finalizar, y desde la ventana de Lista de campos de tabla dinámica, incluimos el nuevo campo.

  • Agrupar el campo Fecha, por meses y años: Botón derecho del ratón sobre el campo Fecha y Ejecutamos Agrupar y mostrar detalles - Agrupar, desde el cuadro diálogo seleccionamos los criterios de agrupación que deseemos - meses y años-.

  • Configurar el campo 'Número de ventas', para que nos subtotalice por Promedio: Botón derecho del ratón sobre el campo que queremos cambiar, y desde Configuracion de campo Resumir por Promedio.

Veamos el video de cómo realizar estos pasos:


La interpretación del resultado obtenido la podríamos leer como que durante enero de 2008 nuestro comerciante vendió una media por día de 13,35 manuales y obtuvo unas ventas de 84.500,00 eur, mientras que en febrero de 2008 incrementó hasta 69,64 la media en unidades vendidas, lo que le supuso un importante aumento en su cifra de negocio hasta alcanzar los 387.100,00 eur.

domingo, 26 de julio de 2009

Iniciación a Tablas dinámicas: Video Excel 2003.

Dicen que una imagen vale más que mil palabras, así que un vídeo ¿cuánto vale en palabras?. Me he decidido por mostrar el ejemplo de Tabla dinámica en un vídeo (para versiones de Excel 2003, para Excel 2007 se trabajaría de igual forma). Tomando el ejemplo de la entrada de Tablas dinámicas Iniciación a las Tablas dinámicas podemos visualizar en vídeo los pasos explicados.

viernes, 24 de julio de 2009

Iniciación a las Tablas dinámicas.

No podemos dejar pasar la oportunidad de aprender algunos pequeños conceptos de qué es una Tabla dinámica, y cómo podemos trabajar con ella. La Tabla dinámica o 'Pivot table', para los amantes de la versión en inglés, la podemos definir como aquel Informe de referencias cruzadas adaptable totalmente, y constantemente, a las necesidades del usuario. Una tabla dinámica nos permite construir, basándonos en un origen de datos estructurado en forma de tabla (es decir, una línea con cabecera de rótulos, y el resto de filas con información tabulada de registros individuales), un informe elaborado adaptado a nuestra necesidad de análisis.
La pretensión de implantar un Informe de tabla dinámica en nuestras hojas de cálculo es alcanzar un informe final, o intermedio, donde poder comparar subtotales (de cualquier tipo) de los distintos campos que componen nuestro origen de datos. Por tanto, en los informes de tabla dinámica, cada columna o campo de los datos de origen se convierte en un campo de tabla dinámica que resume varias filas de información.
Plantearemos un pequeño ejemplo de cómo y para qué utilizar una Tabla dinámica.
Supongamos un pequeño comerciante que se dedica a vender un único producto, por ejemplo, un 'Manual de Excel para todos los niveles'. Este pequeño comerciante lleva un control de manuales vendidos por cada día, desde el comienzo de su negocio (el 1 de enero de 2008); su registro llega hasta el 28 de febrero de 2008 (para facilitar el ejemplo). Por tanto nuestro pequeño comerciante dispone de un listado con dos campos (Fecha y número de ventas). Para analizar la información tabulada de la que dispone aplicaremos un Informe de Tabla dinámica; para ello ejecutaremos el asisente de Excel para tal efecto.


El primer paso del asistente nos solicita que indiquemos con qué tipo de origen de datos vamos a trabajar:


Para nuestro ejemplo, ya que disponemos del listado del pequeño comerciante en una hoja de cálculo, seleccionaremos 'Lista o base de datos'; al tiempo marcaremos la opción de crear sólo un Informe de tabla dinámica (tendremos más ocasiones de aprender a usar al tiempo los gráficos dinámicos).
En el siguiente paso del asistente definimos el rango de celdas donde está el listado de datos (en un futuro aplicaremos en este momento del asistente lo ya aprendido sobre 'rangos dinámicos'). En nuestro ejercicio marcamos el rango A1:B60.


El tercer paso nos solicita el lugar donde deseamos colocar nuestro informe de tabla dinámica:




Por comodidad, para su posterior vista, nos decantamos por situarla en la misma Hoja donde se encuentra el origen de datos (el listado de fechas y ventas). Es importante, si nos decidimos por esta opción, asegurarse que tenemos espacio suficiente a la derecha y abajo de la celda destino; ya que la tabla dinámica, una vez creada, tendrá asignado un espacio variable en nuestra hoja de cálculo, dependiendo de las combinaciones que ejecutemos.
Finalizamos el asistente, y vemos la estructura (sin datos) de cómo es un Tabla dinámica:


Vemos que la tabla dinámica se divide en cuatro zonas:
  • Área de datos: principalmente situaremos campos de nuestro listado que sean numéricos (admitiría culquier tipo de campo)

  • Área de filas: podremos incluir los campos necesarios de nuestro listado (sólo una vez cada campo) para obtener distintas formas de agrupación por filas.

  • Área de columnas: podremos incluir los campos necesarios de nuestro listado (sólo una vez cada campo) para obtener distintas formas de agrupación por columnas

  • Área de páginas. este área nos permite realizar, de otra manera, agrupaciones y muestra de información; además de habilitar alguna opción particular.

En nuestro ejemplo, al tener sólo dos campos, y puesto que estamos iniciándonos en el uso de las Tablas dinámicas, terminaremos de construir el Informe. Observamos que al activar la Tabla dinámica se abre una ventana con la Lista de campos de tabla dinámica:


Desde esta ventana, pinchando y arrastrando los campos sobre la zona de la tabla dinámica donde deseemos incorporar el campo(o desplegando el área, en la parte inferior de la ventana, elegida) empezamos a dar forma a nuestro informe. Arrastraremos el campo Fecha al área de filas, y el campo Ventas al área de datos. Y vemos cómo responde el informe a nuestras acciones; podremos mover los campos a las distintas áreas y observar el dinamismo de la estructura creada.
En nuestro ejemplo, tal cual hemos finalizado, no vemos ninguna ventaja, ya que tenemos duplicado un listado. NO ERA EL OBJETIVO de este post trabajar con las posibilidades de la Tabla dinámica, SÓLO APRENDER A CREARLA.
En posteriores entradas de este blog continuaremos viendo las enormes posibilidades de esta herramienta.
Adjuntamos ejercicio.

Tablas dinamicas
Tablas dinamicas.x...
Hosted by eSnips

jueves, 23 de julio de 2009

Una explicación gráfica de Solver.

Recuperaremos hoy una entrada anterior en la que analizabamos con Solver cuál era el punto muerto de una cuenta de resultados propuesta por un productor de leche de oveja y cabra Ejemplo de Solver. En este ejercicio planteabamos el modo en que Solver solucionaba y encontraba las incognitas, las raices, del sistema de ecuaciones que habíamos planteado:
2,35 x + 1,85 y = z
1,35 x + 0,90 y = s
0,25 x + 0,65 y = t
z + s + t = 0
x / (x + y) = 0,5128 (igual a la recta y=0,95x).
Ya quedó explicado en el post Explicaciones sobre Solver.
Intentaremos plasmar esta misma idea en forma gráfica, utilizando los gráficos de superficie sobre una Tabla de datos aplicado sobre el modelo de cuenta de resultados propuesto. Lo haremos, debido a la limitación con la que me he encontrado, en dos tramos. En primer lugar expandiremos un plano en el espacio formado por lo litros de leche de oveja, los litros de leche de cabra y la cifra en euros del resultado (dada por las cuatro primeras ecuaciones del sistema). En segundo lugar interseccionaremos el plano obtenido con la recta que corresponde a la restricción dada a Solver (la quinta ecuación del sistema).
Recordemos nuestro modelo de cuenta de resultados:


Aplicaremos sobre las dos variables (litros de leche) el siguiente análisis de sensibilidad (ver ejemplo Tabla de datos); desplegando una Tabla de doble entrada por filas los litros de leche de oveja, y por columnas los litros de leche de cabra, vinculado al resultado combinación de ambas, nos quedaría:


haz click en la imagen


He dado formato a aquellas celdas de resultado próximas a un resultado cero. Es normal no obtener el resultado exacto, ya que la distribución por filas y columnas de los litros de leche se ha hecho en intervalos de 100 litros; por lo que se pierde sensibilidad.
Claro está que, en todo caso, esa tabla de datos nos muestra en su cruce con el plano imaginario de resultado cero, las infinitas soluciones existentes en el sistema de cuatro ecuaciones-indeterminación- (se ha añadido una línea adicional amarilla al gráfico para que se visualice mejor ese corte de planos):


Tan sólo nos quedaría entonces incluir en el gráfico una recta (y = 0,95 x) que se moverá por el plano de resultado cero y que en un único punto (y=litros leche de cabra=1.193; x=litros leche de oveja=1.256) interseccionará con el plano anterior:


Queda marcada en la imagen la intersección de la quinta ecuación-en verde- del sistema (la recta y=0,95x) con el plano obtenido de las cuatro primeras ecuaciones.

miércoles, 22 de julio de 2009

Otro ejemplo de la función Y.

En nuestro ejercicio de hoy con la función lógica Y, plantearemos una situación muy sencilla: comprobaremos que una fecha se encuentra dentro de un intervalo de tiempo.


Observar que las pruebas lógicas sobre las que estamos preguntando a la función Y quedan referenciadas sobre distintas celdas a estudiar. Estamos preguntando si es cierto que se cumplen simultaneamente ambas condiciones; esto es, si se cumple a la vez que la Fecha de estudio(E3) es mayor o igual que Fecha inicial(B3) y menor o igual que Fecha final(C3).

Función lógica: O

Ejercitaremos de manera muy sencilla con otra de las funciones lógicas de Excel, la función O. Esta nos devolverá VERDADERO si alguno de los argumentos es VERDADERO y devolverá FALSO si todos los argumentos son FALSO.
Veamos la sintaxis:
= O(valor_lógico1;valor_lógico2; ...)
al igual que la función Y, en ésta podremos incluir hasta 30 pruebas lógicas.
Plantaremos un pequeño ejemplo con un listado de personas con Nombre y Apellido, y mediante la función O discriminaremos aquellas personas cuyo nombre comience con vocal, para posteriormente asignarles, mediante el SI condicional, un valor igual 5, y para los nombres que comiencen por consonante un valor igual a 1.
Nuestra lista podría ser:


aplicando la función O de la siguiente manera podremos averiguar si el nombre comienza con vocal. Para ello anidaremos la función:
=IZQUIERDA(nombre; 1)
para determinar con qué letra comienza cada nombre, dentro de la función lógica O:
=O(IZQUIERDA(nombre;1)="A";IZQUIERDA(nombre;1)="E";IZQUIERDA(nombre;1)="I";IZQUIERDA(nombre;1)="O";IZQUIERDA(nombre;1)="U")
Ahora para asignarles un valor 5 a los que comienzan con vocal, y un valor 1 con consonante, emplearemos la función SI; anidando la anterior función O descrita como argumento condicional, y seleccionando como valor de verdadero 5 y como valor de falso 1:


Un ejemplo muy breve, pero visual, de lo que podemos plantear con este tipo de funciones lógicas.
Adjunto fichero por si pudiera interesar.

funcion O
funcion O.xls
Hosted by eSnips

martes, 21 de julio de 2009

Una función lógica: Y.

Hemos incluido en nuestro blog algunas entradas con la función lógica SI(siguiendo la categorización propia de Excel para sus funciones). Hoy explicaremos otra de las funciones lógicas de Excel, función Y.
=Y(valor_lógico1;valor_lógico2; ...)
Esta función nos permitirá comprobar si distintas condiciones, o pruebas lógicas, se cumplen (son verdaderas) simultáneamente; hasta un máximo de treinta!!.
Replicaremos, empleando esta función Y, el ejercicio planteado en un post anterior. El modo de trabajo será muy similar.
Recordemos que diponemos de un listado de contactos con datos personales, y usando una tabla paralela con unas categorías comerciales, se les asignará a cada uno de ellos en función a su edad y sexo.


y la tabla auxiliar con datos de puntuación comercial:


Es entonces cuando aplicamos la función Y. La usaremos a modo de condición dentro de una función SI anidada. Así:
Y(edad<50;sexo="V")
preguntamos si es cierto que ese contacto tiene una edad inferior a 50 y sexo Varón al tiempo. Por tanto, es sin duda una prueba lógica que podemos utilizar dentr de la función SI
=SI(Y(edad<50;sexo="V");Puntuación 10)
puesto que tenemos una tabla de puntuaciones, con las distintas combinaciones posibles que necesitamos para nuestra clasificación, nos podría servir el uso del SI anidado para ir dirigiendo estas combinaciones a su puntuación concreta. Al usar el SI estamos diciendo realmente que si se cumple al tiempo que el contacto tiene una edad inferior a 50 y es Varón, entonces ejecutas o seleccionas la celda de Puntuación 10. Cuando no se cumplan las condiciones de edad y sexo marcadas, volvemos a preguntar con otro SI, que incluirá a su vez como prueba lógica, un Y que comprenda una nueva combincón de edad-sexo, y así sucesivamete hasta completar nuestra tabla de puntuaciones.


Podríamos plantear un árbol de ejecución de los SI anidado, combinado con la función Y:


Obviamente no es esta la solución más óptima para desarrollar este ejercicio, pero es una buena forma de practicar con estas dos funciones lógicas SI e Y.

lunes, 20 de julio de 2009

Ejemplo para principiantes de SI anidado.

No pretendemos olvidar ni dejar de lado a aquellos usuarios con un nivel 'principiante'. Por este motivo dedicaremos diversas entradas para explicar conceptos, funciones y herramientas para ayudar a todos nuestros lectores que busquen mejorar su nivel.
En este caso ejercitaremos una de las funciones de Excel básicas, la función condicional SI, de la que ya hemos hablado en posts anteriores. Recordamos su sintaxis:
=SI(prueba_lógica;valor_si_verdadero;valor_si_falso)
Plantearemos un supuesto práctico para poder utilizar el SI, añadiendo un poco de complejidad mediante el anidado de otra función SI. Disponemos de un listado de contactos con datos que los identifican, entre otros sexo y edad; datos estos que emplearemos para anidar nuestra función SI.


disponemos a su vez de un Tabla de puntuaciones comerciales, de acuerdo a su edad y sexo, tomadas de una estadística histórica:


Para poder asociar a cada uno de nuestros contactos, a partir de este listado del que disponemos, emplearemos la función condicional SI, anidándola ya que nuestras variables son dos; la función para cada fila quedaría entonces:


donde podemos ver la manera en que queda anidado la función:
=SI(edad<50;SI(sexo="V";puntuación edad<50 & sexo V;puntuación edad<50 & sexo H);SI(sexo="V";puntuación edad>=50 & sexo V;puntuación edad>=50 & sexo H))
Es decir, nuestro SI principal nos discrimina si la edad es menor a 50, si es cierto y se cumple activamos un SI secundario, desde el que distinguimos si el sexo es V; en el caso que se cumplan ambos criterios forzamos el valor 'puntuación edad<50 & sexo V'; sin embargo si cumple la característica edad <50 y no tiene el sexo V, entonces 'puntuación edad<50 & sexo H'. Si no se cumpliera el primer condicional, y por tanto la edad tendría que ser >=50, se ejecutaría el siguiente SI secundario; sobre el que actuaría la segunda condición de sexo (al igual que el anterior SI secundario). Podríamos plantear el siguiente árbol de decisión para ver más claro nuestro planteamiento:

Explicaciones sobre Solver-Otra visión.

No queríamos dejar sin dar una explicación de la herramienta de Excel Solver. Comentabamos en un post anterior Ejemplo de Solver algunas claves que intentaremos desarrollar en esta entrada de nuestro blog.
La clave para trabajar con Solver, a nuestro modo de ver, es comprender la forma de trabajo interno de Solver. Para los más técnicos Solver usa un código de optimización no lineal desarrollado por dos universidades estadounidenses, llamado GRG2. Para los que somos un poco más prácticos, y basándonos en muchos ejercicios resueltos, concluiremos que Solver soluciona apoyado en un método de prueba y error (es decir, mediante iteraciones) los sistemas de ecuaciones planteados. Nos centraremos en este último planteamiento de libre interpretación.
Es importante antes de trabajar con Solver, por tanto, conocer herramientas matemáticas y saber interpretarlas; en concreto nociones básicas sobre álgebra - planos, intersecciones de éstos, etc. Ya que dirigiremos nuestros esfuerzos a explicar Solver como 'buscador' de estas intersecciones (se explicará con más detalle en párrafos posteriores).
Partiremos del ejercicio planteado en la entrada ejemplo de Solver, y veremos cómo sin darnos cuenta plasmamos un sistema de ecuaciones.
Recordemos nuestro problema:


Si nos fijamos atentamente observaremos que tenemos dos variables de partida, los litros de leche de oveja y de cabra, y que el desconocimiento de éstas, genera a su vez nuevas variables como resultado de combinarlas con los distintos precios unitarios de costes de distribución, costes de producción y precios de venta. Veamos realmente que está solucionando Solver:


lo que hemos escrito en nuestra hoja de cálculo no es ni más ni menos que un sistema de ecuaciones con cuatro ecuaciones y cinco incognitas, situación que nos generará, si pretendemos resolverla, una indeterminacion de raices (de los valores para cada variable), i.e., infinitas soluciones. Si entendiaramos cada ecuación como un plano en un espacio multidimensional, la solución vendría dada por la intersección de los cuatro planos en una sóla recta. Seguro que cualquier matemático nos daría una explicación mucho más correcta de lo comentado.
Claro está que en nuestra búsqueda de una solución única, en nuestra búsqueda del Punto muerto, es necesario determinar nuestro sistema de ecuaciones, es decir, debemos incluir una nueva ecuación, independiente de las cuatro anteriores que nos solucione nuestro pequeño problema. Es por esto que en nuestro ejercicio de Solver inicial incluímos una restricción. Con ésta nuestro sistema quedaba:
2,35 x + 1,85 y = z
1,35 x + 0,90 y = s
0,25 x + 0,65 y = t
z + s + t = 0
x / (x + y) = 0,5128 (esta restricción-igual a la recta y=0.95x - nos mantenía constante la proporción de leche producida entre la de oveja y la de cabra)
con lo que obteníamos una solución única. Cinco ecuaciones, cinco incognitas.
Por último, comentar que la inclusión de nuevas ecuaciones en nuestros sistemas de ecuaciones puede venir vía 'Restricciones' dentro de Solver, o bien incorporadas como parte de la formulación en nuestra hoja de cálculo.
Desde luego, dentro de mis conocimientos matemáticos (y son muy cortos), la explicación dada tiene todo el sentido. Espero que para todos nuestros lectores lo tenga también... Lo dicho, espero las correcciones oportunas...

viernes, 17 de julio de 2009

Ejemplo de Solver.

Tras comentar en una entrada anterior otra herramienta de Excel como Buscar objetivo, ha llegado el momento de avanzar algo más con una herramienta, sin duda, más potente que ésta, hablamos de Solver.
La diferencia principal entre Solver y Buscar objetivo, a mi modo de ver, es la posibilidad que nos ofrece Solver para agregar Condicionales o inecuaciones a nuestro Sistema de ecuaciones planteado. Recordemos que cuando hablabamos de Buscar objetivo, decíamos que lo que realmente estabamos planteando era la solución a una ecuación, i.e., buscabamos obtener un resultado que nos resolviera una ecuación.
Solver, como herramienta más completa que es, nos ofrece la posibilidad de incluir a nuestro sistema de ecuaciones todas las restricciones (y por tanto nuevas inecuaciones) que pueda necesitar nuestro modelo planteado.
Plantearemos un ejercicio para que lo resolvamos con Solver.
Un ganadero, productor de leche, dispone de distintas cabezas de ganado vacuno y otras tantas de caprino. Después de algunos meses nuestro ganadero ha reconocido cuántos son sus gastos fijos para una producción determinada (de acuerdo a su ganadería) y también ha definido su cuenta de resultados, conociendo sus costes de producción y distribución. Nuestro ganadero ha visto que en su situación inicial genera pérdidas, por lo que quiere analizar cuál debe ser su producción de leche para al menos no perder dinero, es decir, cuál es su punto muerto. Trabajaremos bajo las condiciones de que toda la leche producida es vendida y distribuida, y que se debe mantener fija la proporción entre leche de oveja y leche de cabra, independientemente de la cantidad total de litros obtenida.

Ejemplo de Solver


Para obtener el número de litros de leche necesarios de oveja y cabra, y alcanzar un resultado CERO, y puesto que hablamos de dos variables cambiantes, no podremos emplear la herramienta Buscar objetivo; es Solver la herramienta adecuada, ya que analizaremos todas las celdas o variables que deseemos para alcanzar un resultado final forzado por nosotros.
Desde el menú Herramientas - Solver (es necesario tener instalado este Complemento) ejecutamos la utilidad:


Estudiemos en primer lugar cuáles son los argumentos a completar en esta ventana de diálogo. Tenemos que determinar cuál es la Celda objetivo, es decir, la celda sobre la que pretendemos forzar un resultado. Nos ofrecen distintas posibilidades de asignar un valor a esta Celda objetivo, podremos Maximizarla, Minimizarla o darle un Valor definido por nosotros. En tercer lugar deberemos seleccionar aquellas celdas de nuestra hoja de cálculo que representen las variables a cambiar para alcanzar-Celdas cambiantes- el resultado final, determinado por la Celda objetivo. Por último, añadiremos todas las restricciones que entendamos necesarias para la correcta solución.
Volviendo a nuestro ejercicio concreto; hemos replicado la misma cuenta de resultados para aplicar Solver sobre la réplica, y así poder observar mejor el antes y después de la solución dada por Solver.
Así, comenzamos a definir los argumentos necesarios en la Ventana de parámetros de Solver. Nuestra celda objetivo será el resultado final, es decir, la celda J19. Como pretendemos conocer la producción de litros de leche que nos dará un resulado CERO; en segundo lugar definimos el Valor de la celda objetivo, determinado como un valor fijo igual a cero. Pasamos entonces a seleccionar las celdas cambiantes, es decir, qué variables de toda nuestra formulación deseamos variar para que el resultado sea el buscado, en nuestro ejemplo las celdas que identifican los litros de leche (D13) de oveja y de cabra (G13). Quedaría por último incluir una restricción o condición que conocemos por el planteamiento del problema (que se debe mantener fija la proporción entre leche de oveja y leche de cabra, independientemente de la cantidad total de litros obtenida), para ello Agregaremos la restricción; por comodidad hemos incluido en celdas continuas la proporción en que se distribuye el total de producción de leche (leche oveja = 51,28%; leche cabra = 48,72%). Pues serán precisamente estas restricciones las que incluiremos en el apartado correspondiente.


En nuestro ejemplo seleccionaremos como 'Referencia de la celda' la D12, con el 'operador' de igualdad, y como 'restricción' le asignaremos el valor 51,28% (o bien la celda D1). No es necesario en este caso incluir una segunda restricción con los datos de la leche de cabra, ya que al ser complementarios entre sí, estaríamos duplicando información.
Sólo nos queda Resolver:


Observamos la propuesta de cambio que nos ofrece Solver, habiendo cumplido las restricciones, si es lo buscado Aceptamos.
Para nuestro ganadero la solución para no tener pérdidas pasa por incrementar su producción de leche de oveja de 1.000 litros a 1.256 litros e incrementar al tiempo la leche de cabra producida de 950 litros a 1.193 litros. siuación que seguirá respetando la condiciones del planteamiento inicial (toda la leche producidaes vendida y mantiene la proporción entre tipos de leches producidas).
Adjunto fichero con el ejercicio resuelto.

Solver
Solver.xls
Hosted by eSnips


jueves, 16 de julio de 2009

Gráfico Análisis sensibilidad: Gráfico de Superficie.

En una entrada anterior, sobre Tablas de datos, planteamos un ejemplo muy típico para conocer el funcionamiento de esta herramienta de Excel. Nos quedaría por analizar el gráfico que generaría este Análisis de sensibilidad sobre una cuota de préstamo.
El tipo de gráfico ideal para visualizar el resultado obtenido es, sin duda, el Gráfico de superficie. Con él, obtendremos una superficie por la cual se desplazan los valores resultantes según nos movemos en el espacio por los distintos ejes creados (un eje será la variable 'tipo de interés', otro la variable 'Plazo' y el último el 'importe' que alcanza la 'Cuota anual' calculada).


Si analizáramos este gráfico, percibiríamos en qué manera nuestra cuota anual de un préstamo varía según aumenta el Plazo o crece el Tipo de interés. Vemos que el crecimiento/decrecimiento no es lineal, tiene forma asintótica con los ejes. Analizaríamos que el efecto mayor sobre la cuota lo obtenemos de la variación en el Plazo, y que el Tipo de interés tiene un efecto menor sobre la variación.
Para alcanzar este gráfico tan solo hemos seleccionado el rango de resultados de la Tabla (rango C8:I15) y desde el Asistente para gráficos, en el paso Uno-Tipo de gráfico seleccionamos los de Tipo Superficie (son graficos de 3D); es en el paso Dos-Datos de origen, dentro de la pestaña-Serie, donde realizamos todo el trabajo.


Seleccionaremos como Rótulos del eje de categorías (eje X) los valores que definimos en un principio para alguna de las variables de estudio, en nuestro ejercicio, seleccionamos el rango B8:B15, que nos vincula con los valores asignados en nuestra Tabla de datos a la variable 'Plazo' (podríamos habernos decantado por la variable 'Tipo de interés', entonces seleccionaríamos el rango C7:I7). Como ya teníamos marcado el rango de valores (rango C8:I15), sólo nos queda asignar Nombre a cada una de las series generadas, por lo que en nuestro ejemplo iremos celda a celda, desde la C7 a la I7 (realmente este paso se podría omitir). Y ya tendríamos nuestro Gráfico de superficie creado, salvo que quisieramos delimitar algún punto más desde el Asistente.

miércoles, 15 de julio de 2009

Ejemplo de cálculos entre fechas.

Parece conveniente en ocasiones reforzar nuestra base de conocimientos. Por este motivo dedicaremos unos minutos a recordar el funcionamiento de las Fechas en Excel.
Lo primero que debemos saber es el criterio interno utilizado por Excel cuando lee una Fecha en alguna de las celdas de nuestras hojas de cálculo; y es que para Excel una Fecha no es más que un número ordenado, entendiendo que la fecha 01/01/1900 es el 1, y la de hoy, por ejemplo, 15 de julio de 2009 el 40.009. Por tanto al calcular diferencias entre fechas realmente realizamos operaciones aritméticas entre dos números.
Si pretendemos conocer cuántos días han transcurrido entre dos fechas, tendremos varias opciones:


Vemos las posibilidades, desde la más sencilla como diferencia entre dos celdas C3-B3, hasta alguna más elaborada como
=SIFECHA(fecha inicial, fecha final, criterio de cuenta)
sabiendo que el criterio responde a 'd' para días, 'm' para meses o 'y' para años. También podríamos emplear, dependiendo de la utilidad que queramos dar a nuestro cálculo, otras funciones como
=DIAS.LAB(Fecha inicial, Fecha final)
que nos devuelve el número de días laborables transcurridos entre ambas fechas; o por último la función
=DIAS360(fecha inicial, fecha final, método cálculo)
siendo este método de cálculo el siguiente:
  • Si es FALSO=Método US (NASD). Si la fecha inicial es el 31 del mes, se convierte en el 30 del mismo mes. Si la fecha final es el 31 del mes y la fecha inicial es anterior al 30, la fecha final se convierte en el 1 del mes siguiente; de lo contrario la fecha final se convierte en el 30 del mismo mes.
  • Si es VERDADERO=Método europeo. Las fechas iniciales o finales que corresponden al 31 del mes se convierten en el 30 del mismo mes.

Algo sencillo pero práctico.

Ejemplo de Tabla o Tabla de datos - I.

Ensayaremos hoy sobre el uso de la herramienta avanzada de Excel que nos ayuda en los momentos que necesitamos realizar un Análisis de sensibilidad. En la versión Excel 2003 se llama 'Tabla' y en la versión Excel 2007 'Tabla de datos', si bien es exactamente la misma utilidad. Es una herramienta muy sencilla de emplear, sólo debemos tener una hoja de cálculo con alguna formulación que nos vincule distintas celdas o variables, ya que con este análisis de sensibilidad podremos estudiar las variaciones de un resultado de acuerdo a un máximo de dos variables (al hablar de Tabla se no restringe las variables de estudio a la bidimensionalidad).
Practicaremos el uso con un ejercicio muy típico en distintas web. Analizaremos la variación de una cuota anual de un préstamo hipotecario según cambien dos de sus parámetros (tipo de interés y plazo). Es un ejercicio muy sencillo pero a la vez muy gráfico.
Conocidas las condiciones de un Préstamo:
Principal: 150.000,00 eur
Tipo interés: 3,36% anual
Plazo: 25 años
y aplicada la función financiera PAGO sobre éstos
=PAGO(tasa, número periodos, valor)
obtendríamos inicialmente una cuota anual de 8.963,36 eur.
Es a partir de este resultado desde donde vamos a obtener una Tabla de datos donde poder observar la sensibilidad al cambio de la cuota respecto de dos de sus tres variables.
Empezamos preparando lo que será nuestra Tabla; para lo que en primer lugar vinculamos la celda donde habíamos obtenido la cuota anual (calculada con la función PAGO) en el lugar elegido, a continuación proyectamos por filas y/o columnas ambas variables de estudio.


En las filas dispondremos distintos valores de la variable Tipo de interés y en la columna valores del Plazo (estos valores los podremos cambiar en cualquier momento, según nuestras necesidades). Llegados a este punto sólo nos queda aplicar sobre nuestro rango definido la herramienta de análisis, tan sólo remarcaremos el rango en cuestión y ejecutaremos desde el menú Datos la herramienta Tabla (para Excel 2003) o desde el menú Datos y Analisis y Sí - Tabla de datos (para Excel 2007), nos aparecerá una ventana con dos argumentos por definir:


donde seleccionaremos en el argumento 'Rango de entrada(fila)' aquella celda de nuestra formulación original la varible que represente los valores espeficicados en la fila; para nosotros la celda B3 que es la del Tipo de interés. De igual forma actuaremos sobre el argumento 'Rango de entrada(columna)', donde seleccionaremos la celda B4 que era en origen nuesta celda de Plazo. Sólo nos queda Aceptar para que se genere nuestra Tabla de datos sensible a las variaciones de dos variables.


Observar que nos ha generado una Función matricial llamada Tabla, que no será modificable.
Remarcar también que el análisis se podrá realizar sobre una sola variable.
MUY IMPORTANTE: NO CONFUNDIR NUNCA CON TABLAS DINÁMICAS!!!

martes, 14 de julio de 2009

Ejemplo de Buscar objetivo -II.

Plantearemos un segundo ejemplo de cómo usar la herramienta Buscar objetivo. Ya vimos un ejercicio introductorio sobre Buscar objetivo.
Recordemos que finalmente lo que hace esta herramienta es resolver una ecuación de una incognita o variable.
Supongamos para nuestro ejercicio de hoy que necesitamos saber cual es el valor de reembolso en una operación financiera para que su TIR sea 5% anual; sabiendo los flujos de tesorería intermedios de dicha operación:


A partir de esta situación planteamos la linea temporal con los flujos de tesorería:


Vemos que hemos aplicado la función financiera TIR sobre el rango C18:F18.
Una vez determinada la operación deberemos resolver la incognita de cuánto debe ser el Valor de reembolso para obtener una TIR igual al 5%. Para ello aplicamos sobre la celda B6, desde el menú Herramientas, el Buscar objetivo (Goal Seek). Es decir determinamos como Celda objetivo la celda D20 (donde hemos calculado la TIR) lo forzamos para que nos de el valor 5% (ó 0,05) y como variable a obtener la celda B6.


Resolvemos entonces la ecuación y obtenemos como resultado el Valor de reembolso que debemos tener para llegar a una rentabilidad del 5% anual, 10,96 eur.
Observamos que la TIR obtenida de aplicar Buscar objetivo no es exactamente lo que buscabamos, se queda resuelto con una aproximación al devolvernos una TIR de 5,05%.
En ocasiones las soluciones a las ecuaciones no son del todo posibles...
Adjunto el fichero para su descarga.

Buscar objetivo y II
Buscar objetivo y ...
Hosted by eSnips

lunes, 13 de julio de 2009

Ejemplo de Buscar objetivo.

Conviene conocer las diferentes herramientas que nos ofrece nuestro Excel, sólo así atisvaremos las grandes posibilidades que tiene esta aplicación. Le dedicaremos, a modo de introducción, un poco de tiempo a aprender el uso de una herramienta avanzada: Buscar objetivo (el hermano pequeño de Solver).
Nuestra herramienta - Buscar objetivo - no es más que un solucionador de ecuaciones, i.e., si tenemos en nuestra hoja de cálculo diferentes celdas vinculadas entre sí (es básico que exista una relación entre las celdas) y necesitamos estimar UNA de las variables para forzar un resultado concreto, aplicaremos la utilidad Buscar objetivo. He remarcado UNA variable, y es que la limitación de este Buscar objetivo es precisamente ésta, sólo nos permite reestimar UN parámetro de todas aquellas celdas vnculadas de las que hablabamos.
Como siempre planteremos un ejemplo y su solución, en este caso, empleando Buscar objetivo.
Supongamos un productor de leche de vaca, el cual produce mensualmente (de acuerdo al número de ganado que tiene) un total de 925 litros de leche. Este ganadero ha calculado sus costes fijos y variables (de producción y de distribución) y ha planteado la siguiente Cuenta de resultados, muy importante bajo la suposición que vende la totalidad de la leche producida:


Vemos que de acuerdo a sus costes y a la producción dada obtiene un resultado de 968,75 eur de pérdida.
La pregunta sería entonces ¿cuál es la cantidad de leche que debería producir nuestro ganadero para no tener ninguna pérdida?, es decir, ¿cuál es el número de litros con el que se alcanza el Punto muerto para esta situción?.
La respuesta nos la devuelve la herramienta Buscar objetivo. La ejecutaremos, para versiones de Excel 2003 y anteriores desde el Menú Herramientas - Buscar objetivo...


Vemos planteada la solución a nuestra pregunta tal cual se propone en los manuales técnicos (producir 4800 litros); nosotros le daremos solución con Excel, resolviendo matematicamente la ecuación planteada, ¿cuantos litros debemos producir para que nuestro resultado final sea Cero?.
Aplicamos Buscar objetivo y vemos qué nos pide definir previamente a su solución:


Nos solicita le indiquemos cuál es la celda objetivo sobre la que queremos forzar un resultado con el valor que queramos, cambiando alguno de los parámetros o variables del que depende este resultado (recordemos que debe existir una vinculación entre la celda objetivo y la variable a cambiar). En nuestro caso determinamos como celda objetivo la $F$8, i.e., la celda donde hemos calculado nuestro resultado. Luego definimos cuál es el valor buscado, y ya que buscamos el punto muerto lo definimos con el valor cero. Por último determinamos la variable a cambiar para obtener un resultado cero, esto es, la celda $C$2 de litros producidos. Cuando aceptemos nos dará una solución que deberá cincidir con el cálculo obtenido de los manuales técnicos, es decir, habrá que producir 4.800 litros de leche para alcanzar el resultado cero.

jueves, 9 de julio de 2009

Teclas de método abreviado Excel 2003 - I.

Aunque ya muy próxima a su desaparición, la versión de Excel 2003, mantiene muchos adeptos (me incluyo a mi mismo entre ellos), por este motivo realizaremos algunas entregas de teclas abreviadas para esta versión de Excel 2003.
Tabla teclas Excel 2003:


haz click en la imagen


Pues esta ha sido la primera entrega para los nostálgicos de versiones condenadas...

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...