viernes, marzo 31, 2006

Graduar valores de una lista con funciones Excel (RANK, SMALL, LARGE, MAX, MIN)

To read this post in English, press here.

Una tarea bastante común con Excel es tener que graduar o investigar una lista de valores. Supongamos una lista de agentes de ventas de una compañía con los totales de ventas de cada uno de ellos en un período determinado



Supongamos que queremos saber cuanto fue el máximo de ventas, o quien fue el agente que más (o que menos) vendió, cual fue la segunda suma de ventas en orden decreciente (o creciente) y otras preguntas más. Todas esta tareas se pueden realizar utilizando las siguientes fórmulas (entre paréntesis aparecen los nombres en inglés):

MIN (MIN): Devuelve el valor mínimo de un conjunto de valores

MAX (MAX): Devuelve el valor máximo de un conjunto de valores

K.ESIMO.MENOR (SMALL): Devuelve el k-ésimo menor valor de un conjunto de datos. Utilice esta función para devolver valores con una posición relativa específica dentro de un conjunto de datos.

K.ESIMO.MAYOR (LARGE): Returns the k-th largest value in a data set

JERARQUIA (RANK): Devuelve la jerarquía de un número en una lista de números. La jerarquía de un número es su tamaño en comparación con otros valores de la lista. (Si ordenara la lista, la jerarquía del número sería su posición).

Para investigar el uso de estas funciones les sugiero
rank_nums_spdescargar el archivo con los ejemplos.



Estas funciones son especialmente útiles cuando se las combinan con otras funciones. Por ejemplo, en la celda E14, para saber cual es la posición de un agente de acuerdo a sus ventas, utilizo una combinación de las funciones JERARQUÍA y BUSCARV

=JERARQUIA(BUSCARV(D14,A2:B20,2,0),Ventas)

Como es mi costumbre, y como pueden observar, utilizo
nombres para rangos, lo que permite simplificar la fórmulas y volverlas más comprensibles. Una lista de los nombres en uso en el cuaderno aparece en la hoja (ver mi entrada sobre como pegar una lista de nombres).

Categorías: Funciones&Formulas_


Technorati Tags: , , , ,

martes, marzo 28, 2006

Excel - Agregando controles en hojas de cálculo

Excel permite la inclusión de controles como botones de opción y listas desplegables en las hojas de cálculo. Los controles son objetos de interfaz gráfica que permite al usuario controlar acciones. Normalmente son utilizados en macros (Vba, Visual Basic for Applications) pero también se los puede usar en una hoja, sin que medie ninguna programación.
Las versiones más recientes de Excel tienen dos tipos de controles, los controles ActiveX (la barra de la izquierda en la figura) y los controles de la barra de herramientas Formularios



En esta entrada daremos un ejemplo práctico del uso de los controles de la barra de herramientas Formularios. No nos detendremos a analizar las diferencias entre los dos tipos de controles ni el uso de los ActiveX.

Como es costumbre de este blog, ilustraremos el uso de los controles con un ejemplo.

Supongamos que hemos diseñado un formulario en una hoja de cálculo Excel, para calcular precios de productos. El precio depende de si el cliente es miembro del club de compras y de las condiciones de pago. El formulario del controlsp01ejemplo se puede descargar aquí.



En este formulario hemos puesto 4 controles: una casilla de verificación (si el cliente es miembro del club marcamos la "V") y tres botones de opción para señalar la forma de pago.
Estos controles funcionan de la siguiente manera:
1 – Activamos la barra de formularios y pulsamos sobre el control requerido (en nuestro caso la casilla de verificación)
2 – ubicamos el control en el lugar requerido y abrimos el menú de formato del control



3 – en la división "control" creamos un vínculo con alguna celda de la hoja.



En esta celda Excel anotará un valor de acuerdo a al situación del control. Si la casilla está señalada ("v"), en la celda vinculada aparecerá el valor "VERDADERO"; de lo contrario Excel anotará el valor "FALSO". La celda vinculada que hemos elegido es A3 de manera que el control oculte el valor de la celda.
4 – Procedemos de la misma manera con los botones de opción. En este caso los tres controles están vinculados a la misma celda (A7 en nuestro ejemplo). El valor en la celda vinculada corresponde al orden de los controles. Es decir, si el control activo es el primero (Contado), el valor de la celda vinculada será "1". Si el control activo es "Hasta 30 días" el valor de la celda vinculada será "2" y así sucesivamente.
Los valores de las celdas vinculadas funcionan como argumentos en las fórmulas que calculan los descuentos

- en la celda C23 tenemos la fórmula =SI(A3=VERDADERO,D22*10%,0)
- en la celda C24 tenemos la fórmula =D22*ELEGIR(A7,10%,5%,0)

De esta manera, las opciones marcadas en los controles nos permiten "controlar" los resultados de las fórmulas.



En el rango A16:A21 usamos validación de datos, con la opción "lista". En la Hoja2 hemos puesto una lista de precios. En esta hoja hemos definidos dos nombres de rangos, uno para la lista de la validación de datos y el otro para la fórmula BUSCARV que calcula los precios de los productos en el rango C16:C21.
Para evitar valor erróneos (#N/A, #DIV/0!, etc), combinamos las funciones de búsqueda con la función de control ESBLANCO.

Categorías: Funciones&Formulas_, LOOKUPS_


Technorati Tags: , , ,

sábado, marzo 25, 2006

Excel no abre archivos con macros

Hace unas semanas atrás se descompuso una de los servidores y tuvo que ser reemplazado. Dado que se instaló también una versión nueva del Office, los usuarios de Excel, empezaron a recibir este aviso cuando trataban de abrir ciertos archivos .xls




Esto se debe a que por definición, o por que el responsable del departamento de computación así lo quiso, las definiciones de seguridad de Excel incluyen no permitir abrir archivos que incluyan macros.

Estas definiciones pueden ser cambiadas a nivel de usuario, a través del menú



Pulsando el menú "seguridad" se abre un diálogo,



Donde podemos cambiar la definición a



Medio: el usuario debe aprobar la apertura de archivo que contiene algún macro

Bajo: el archivo es abierto sin que medie ninguna advertencia.

Y ahora una nota personal. El próximo miércoles salgo de viaje para la Argentina, con toda la familia. Así que por las próximas semanas estaré un tanto desconectado de la red. Trataré de ver cada tanto los comentarios y responder en la medida de lo posible.



Categorías: Varios_


Technorati Tags: ,

Nombres (NAMES) en Excel – Lista automática

To read this post in English, press here.

Varias de mis entradas tratan sobre el uso de nombres (NAMES) en Excel, como por ejemplo Uso de Nombres (NAMES) en MS Excel, Uso de Nombres en Excel para formato condicional, Uso de Nombres para Validación de Datos y otras.

Para ver cuales son los nombres disponibles en cada situación podemos usar el menú Insertar---->Nombres--->Pegar
Aparecerá un diálogo como este



Al apretar "Aceptar" se imprimirá una lista de todos los nombres disponibles en la hoja activa.



Categorías: Manejo de Datos_, Varios_


Technorati Tags: ,

jueves, marzo 23, 2006

Utilizar BUSCARV (Vlookup) en lugar de combinaciones de SI (nested IF functions)

For the English version of this post, press here.

Ya he mencionado a mi abuelita y su inagotable fuente de saber (aquello de "si los atajos fueran buenos, no existirían caminos"). Decíamos esto en relación a buscar atajos al construir fórmulas en Excel. EL caso clásico es combinar varias funciones SI (IF en la versión inglesa) para resolver casos de varias condiciones. En esa entrada había sugerido que a veces es posible usar ELEGIR (Choose) en lugar de combinaciones de SI (If).
Ayer tuve oportunidad de ver otro caso de fórmulas innecesariamente complicadas. Claro, que mi abuelita diría a esto: "para pensar en forma sencilla hay que ser extremadamente sofisticado".
Aquí les muestro el caso. En uno de los departamentos de mi empresa decidieron poner en marcha un plan de aumentos salariales basados en la antigüedad el empleado (déjenme decirles que somos socialistas, ya que soy miembro de un
kibbutz).
La idea es dar un aumento de acuerdo a esta tabla






El director del departamento de recursos humanos pidió ver una lista de quien recibiría qué aumento, así que el encargado del departamento preparó esta hoja en Excel



Para calcular los porcentajes de aumentos utilizó esta fórmula:

=SI(C2<2,0%,si(y(c2>=2,C2<5),2%,si(y(c2>=5,C2<10),4%,6%)))

Como pueden ver hay aquí 3 funciones SI combinadas (de acuerdo al principio: cantidad de casos menos 1).

Una forma más sencilla es utilizar BUSCARV, para lo cual todo lo que tenemos que hacer es rescribir un poco la tabla de aumentos



Luego usamos la función BUSCARV, con el argumento "ordenado" (el cuarto argumento de la función) en blanco (o con valor VERDADERO).



Ordenado es un valor lógico que especifica si BUSCARV debe localizar una coincidencia exacta o aproximada. Si se omite o es VERDADERO, devolverá una coincidencia aproximada. En otras palabras, si no localiza ninguna coincidencia exacta, devolverá el siguiente valor más alto inferior a valor_buscado.

De esta manera la fórmula será la siguiente: =BUSCARV(C2,$D$16:$E$20,2)
Como pueden ver más sencilla y concisa. Los resultados, por supuesto, son los mismos


Para calcular la antigüedad de cada empleado usamos la función SIFECHA (DATEDIF en la versión inglesa)



Pueden descargar el cuaderno con el ejemplo aquí.


Categorías: Funciones&Formulas_


Technorati Tags: ,


miércoles, marzo 22, 2006

Distintas funciones para redondear (rounding) en Excel

For the english version of this post, press here.

Siendo economista he preparado y presentado un sinnúmero de Business Plans sobre todo tipo de proyectos. Una de las reacciones más comunes de los directores, es por qué los números no aparecen redondeados. Los directores parecen tener cierta alergia a números como "Ventas del primer año: 1,234,567 euros". Ellos quieren ver: "Ventas 1,230,000 euros".

Hay dos caminos de enfrentarse con esta cuestión:
1 – usar formato de celdas personalizado (tema de una futura entrada)
2 – usar alguna de las funciones de Excel para redondear.

Esto último significa combinar (anidar) la función del cálculo dentro de alguna de las funciones de redondeado de Excel.

Excel ofrece una variedad de funciones para redondear números. Pueden
descargar un cuaderno con ejemplos de toda la variedad de funciones de redondeado.

Sucintamente (en orden alfabético):

ENTERO: Redondea un número hasta el entero inferior más próximo. Nombre en inglés: INT

MULTIPLO.SUPERIOR: Redondea un número al próximo múltiplo del argumento cifra_significativa, hacia arriba. Nombre en inglés: CEILING

MULTIPLO.INFERIOR: Redondea un número al próximo múltiplo del argumento cifra_significativa, hacia abajo. Nombre en inglés: FLOOR

REDONDEA.IMPAR: Redondea un número hasta el próximo entero impar. Nombre en inglés: ODD

REDONDEA.PAR: Devuelve un número redondeado hasta el número entero par más próximo. Nombre en inglés: EVEN

REDONDEAR: Redondea un número al número de decimales especificado. Nombre en inglés: ROUND

REDONDEAR.MAS: Redondea un número hacia arriba, en dirección contraria a cero. Nombre en inglés: ROUNDUP

REDONDEAR.MENOS: Redondea un número hacia abajo, en dirección hacia cero. Nombre en inglés: ROUNDOWN

RESIDUO: Devuelve el residuo o resto de la división entre número y núm_divisor. El resultado tiene el mismo signo que núm_divisor. Núm_divisor es el número por el cual desea dividir el argumento número. Nombre en inglés: MOD

TRUNCAR: Trunca un número a un entero, suprimiendo la parte fraccionaria de dicho número. Esta función tiene un argumento opcional que permite determinar el número de decimales a dejar además de la parte entera del número. Nombre en inglés: TRUNC


Categorías: Funciones&Formulas_

Technorati Tags: ,

martes, marzo 21, 2006

Reemplazando la tilde – Una actualización

En una entrada reciente había señalado el problema que existe cuando tratamos de buscar o buscar y reemplazar la tilde ("~"). El mismo problema existe con el signo de interrogación ("?") y con el asterisco ("*").
En esa entrada sugería utilizar el menú Texto en Columna para reemplazar la tilde por el guión.
En realidad existe una forma más práctica de efectuar estas tareas, como esta señalado el la base de conocimientos de Microsoft (existe una traducción al castellano: Cómo buscar y reemplazar tildes y caracteres comodín en Excel).
Citando a Microsoft:


Microsoft Excel utiliza la tilde (~) como un marcador para indicar que el carácter siguiente es una literal. Al elegir Buscar o Reemplazar en el menú Edición para reemplazar o buscar una tilde (~), un asterisco (*) o un signo de interrogación, debe preceder al carácter con una tilde (~).

NOTA: Si desea buscar o reemplazar una tilde en su hoja de cálculo, debe escribir una tilde doble.


Por ejemplo, para reemplazar la tilde en 1~22~333~4444 por un guión usamos




Para reemplazar el asterisco en 1*22*333*4444 por el signo / usaremos





Categorías: Manejo de Datos_, Varios_


Technorati Tags: ,

domingo, marzo 19, 2006

Uso del Solver en Excel

For the english version of this post, press here.

Ayer hablamos sobre como usar Buscar Objetivo (Goal Seek) de Excel para resolver problemas dependientes de una sola variable. La funcionalidad Buscar Objetivo nos permite responder a la pregunta cuál debe ser el valor de una variable para obtener un determinado valor en una función (o fórmula).
Cuando queremos resolver problemas que dependen de más de una variable, la herramienta a usar es el Solver.
El Solver es un complemento de Excel (Add – In). Si no aparece en el menú Herramientas (inmediatamente debajo de Buscar Objetivo) hay que instalarlo.
Para esto hay que activar el menú Herramientas--->






Y señalar el Solver

Supongamos el siguiente problema (para
descargar el cuaderno del ejemplo apretar aquí):

Dados estos datos



Queremos armar la cartera de inversiones que maximice las ganancias, sujeto a la restricción de no invertir en cada tipo de inversión más de lo permitido.
Para resolver este problema con el Solver debemos primero construir un modelo:



Las fórmulas en el rango E7:E9 son =$C$3*D7;


en el rango F7:F9 son =E7*C7;
las celdas en el rango D7:D9 las dejamos vacías para recibir en ellas la solución del problema.

El siguiente paso es determinar los parámetros del solver:




Interpretamos el diálogo que se abre de la siguiente manera:

Set Target Cell to: la celda para la cual queremos encontrar la solución. En nuestro caso F10.

Equal to: en nuestro caso elegimos "Max", es decir, maximizar el resultado en F10 (que contiene la fórmula =SUMA(F7:F9))

Subject to Constraints: las condiciones del caso. Para introducir estas condiciones apretamos el botón Add.


En nuestro caso:

D10 = 1, ya que el total de las partes de la cartera no pueden superar el 100% de la cartera.

D7<=B7, para cumplir la condición que la inversión en este tipo de bien no supere lo establecido en la celda B7 D7<=0, para evitar que Solver nos de un resultado negativo, lo que sería cierto matemáticamente, pero carente de sentido en la realidad. De la misma manera procedemos con el resto de la condiciones.
Finalmente pulsamos "Solve". Se abre un diálogo donde Excel nos muestra la solución encontrada.



Para retener los resultados apretamos "Keep Solver Solution".



Categorías: Funciones&Formulas_, Varios_




Technorati Tags:

sábado, marzo 18, 2006

Uso de Buscar Objetivo (Goal Seek) en Excel.

For the english version of this post, press here.

Esta semana he estado ocupando desarrollando un modelo de optimización para el departamento de productos para la industria avícola de nuestra empresa.
El modelo que construí, y cuyo objetivo no será mencionado por razones obvias, está basado en el uso de la funcionalidad Solver de Excel. En el pasado ya he escrito sobre el
uso del Solver para resolver sistemas de ecuaciones. En esta oportunidad hablaremos sobre Buscar Objetivo (Goal Seek en la versión inglesa). Al uso del Solver le dedicaré la próxima entrada.

El cuaderno con los ejemplos de esta entrada se puede
Buscar Objetivodescargar aquí.

El uso de Buscar Objetivo es sencillo. Supongamos la siguiente pregunta: sabiendo la tasa de interés, el plazo en el que deberemos pagar el préstamo y el monto del pago mensual que estamos dispuestos a afrontar, cuál es monto del préstamo que podemos pedir.

Para encontrar la solución montamos un modelo (sencillo en este caso) en Excel






La fórmula en la celda C5 es =PAGO(C3/12,C4,-C6), dónde dividimos la tasa de interés anual (C3) por 12 para obtener la tasa mensual, C4 el plazo del préstamo en meses, C5 el pago mensual que estamos dispuestos a afrontar y C6 la celda donde recibiremos la solución (la celda está en blanco antes de usar el Buscar Objetivo).

Supongamos que el monto mensual que estamos dispuestos a pagar es de 1,500. Pulsamos el menú Herramientas--->Buscar Objetivo. En el diálogo que se abre completamos los siguientes datos



Apretamos "Aceptar" y vemos el resultado que Excel encontró (no siempre se puede encontrar una solución)



Volvemos a apretar "aceptar" y los datos de la solución pasan a la hoja de Excel.



Buscar Objetivo funciona cambiando una de las variables de la formula. En casos en que queremos buscar un resultado evaluando más de una variable y sujetando el resultado a condiciones, debemos usar el Solver. Esto será expuesto en la próxima entrada.


Categorías: Funciones&Formulas_, Varios_


Technorati Tags: ,

martes, marzo 14, 2006

Manejo de pequeñas bases de datos en Excel – Acceso a base de datos externos con MS Query

Esta es otra nota de la serie sobre manejo de pequeñas bases de datos en Excel. Las entradas anteriores fueron

1 -
Manejo de pequeñas bases de datos en Excel con tablas dinámicas (pivot tables), donde nos ocupamos de cómo construir una lista o tabla que sirva de base para generar una tabla dinámica (pivot table).


2 -
Manejo de pequeñas bases de datos en Excel con tablas dinámicas (pivot tables) - Actualización de Datos, donde vimos como actualizar la tabla dinámica cada vez que los datos de la base de datos cambian.

3-
Manejo de pequeñas bases de datos en Excel – Referencias dinámicas con nombres (NAMES), donde expliqué como generar una referencia al rango de la base de datos en la tabla dinámica, de manera que no haga falta actualizarlo manualmente con cada cambio.

En todas estas entradas la base de datos de la tabla dinámica era una lista que se encontraba en una hoja de Excel. A esta tabla le agregamos datos (o borramos datos de ella) manualmente.
En esta cuarta entrada nos ocuparemos de cómo acceder bases de datos externas con Excel. Para esta tarea Excel cuenta con un programa auxiliar, el MS Query.
Para los ejemplos de esta entrada he utilizado la base de datos Northwind, que forma parte del paquete Office. Estos archivos se encuentran (Office XP) en la carpeta C:\Program Files\Microsoft Office\Office10\Samples .

Para importar los datos externos a una hoja Excel usamos los comandos Datos--->Obtener datos externos--->Nueva consulta de base de datos.





Si se fijan en la barra inferior de la pantalla, verán que Excel a abierto un nuevo programa, el MS Query




En el diálogo que se abre, debemos señalar cual es nuestra fuente de datos



En nuestro ejemplo basta con señalar el tipo de base datos, MS Access, que ya figura en la lista de MS Query. A veces el tipo de base de datos no aparece en al lista y el acceso debe ser creado. En este ejemplo nos limitaremos al primer caso.
Luego de elegir la fuente, elegimos la tabla y/o los campos de la tabla que estamos interesados en importar



Luego de elegir la fuente, veremos la lista tablas disponibles. Para no complicar nuestro ejemplo elegiremos sólo una tabla. Al lado del nombre de cada tabla hay un símbolo "+". Al pulsarlo veremos la lista de campos de la tabla- Esto nos permite elegir cuales estamos interesados en importar. Cada campo ocupará una columna en la hoja de Excel.


En nuestro ejemplo elegimos la tabla "Alphabetical List of Products", y de ella los campos que aparecen en la imagen (eso se hace señalando los campos en la ventanilla izquierda y pulsando la flecha en dirección a la ventanilla derecha)



Luego podemos establecer criterios para la importación, por ejemplo productos cuyos precios sean mayores de 15



En el próximo diálogo podemos ordenar los datos de acuerdo a los campos



Finalmente podemos elegir si importar los datos directamente a la hoja de Excel, si ver los datos en el MS Query (luego se pueden importar desde allí) o crear un cubo OLAP (tema sobre el cual escribiré en el futuro)



Si elegimos importar los datos a una hoja Excel, debemos indicar a partir de qué celda comenzar (por lo general será A1)



Como pueden ver, Excel nos propone en este mismo diálogo crear una tabla dinámica.

Apretamos "Aceptar" y Excel importará los datos a la hoja



A partir de este momento podemos trabajar como con toda lista de datos en Excel, ordenar los datos, generar subtotales, usar filtros y generar tablas dinámicas.


Si en lugar de importar los datos a una hoja, elegimos la opción "Crear un informe de tabla dinámica", Excel abrira una plantilla de tabla dinámica vacía. En lugar de importar los datos a una hoja, Excel establece un vínculo con los datos en la tbla de la base de datos.

En la próxima entrada daré una breve explicación de cómo proceder cuando la fuente de datos no aparece en la lista de MS Query.


Categorías: Manejo de Datos_




Technorati Tags: , ,




Si te gustó esta entrada anotala en del.icio.us

sábado, marzo 11, 2006

Funciones SI (IF) en Excel – Como construir fórmulas anidadas compactas

Una tarea bastante corriente en Excel es construir fórmulas que combinan varias funciones. Una de las combinaciones "clásicas" es con la función SI (IF en la versión inglesa).
La función SI analiza una propuesta (Jorge mide más de 1.80 metros) y de acuerdo al resultado (verdadero o falso) da una respuesta (Jorge es alto). Si la propuesta resulta "falsa" el resultado será distinto (Jorge es bajo).
Por supuesto se pueden combinar (anidar) varias funciones SI, de manera que cada una sirva de argumento para la otra. Excel acepta hasta 7 funciones SI en una misma fórmula. El problema es que también con 3 o 4 funciones SI combinadas, la fórmula resulta larga y complicada. Sobre esto he escrito en la entrada sobre el
uso de la función ELEGIR (Choose, en inglés).
En este ejemplo (les recomiendo
descargar el archivo del ejercicio) veremos cómo construir fórmulas que anidan varias funciones SI, en forma compacta.
Para esto es necesario conocer el concepto de "nombres" (NAMES) en Excel. Si no están familiarizados con este concepto, pueden leer mis entradas sobre el tema:
Uso de Nombres (NAMES) en MS Excel
Usar Nombres en Excel para Formato Condicional
Uso de NOMBRES (NAMES) en Excel – Validación de Datos

En nuestro ejemplo suponemos la existencia de una tienda que tiene un club de clientes. Cada cliente puede pertenecer a una de las categorías: Platinum, Gold o Regular. De acuerdo a la categoría el miembro puede recibir determinados descuentos e acuerdo a esta tabla:


Además la tienda vende con el sistema "1+1", al comprar dos productos se recibe un descuento del 50% sobre el más barato.
Este ejercicio fue parte de un examen en un curso sobre Excel. Los alumnos tenían que proponer una fórmula que calculara el descuento adicional a los clientes.


Las fórmulas propuestas por los alumnos variaron entre 4 y 5 funciones SI combinadas. Si bajaron el archivo, pueden ver en la columna G la fórmula con 5 funciones SI

=SI(C2="Platinum",SI(Y(CONTAR(D2:E2)=2,F2>10000),F2*0.2,SI(Y(CONTAR(D2:E2)=2,F2<=10000),F2*0.1,SI(Y(CONTAR(D2:E2)=1,F2>10000),F2*0.1))),SI(Y(C2="Gold",CONTAR(D2:E2)=2,F2>15000),F2*0.1," "))

Si bien esta fórmula resuelve el problema, se puede escribir de otra manera usando solamente 2 funciones SI. La regla a seguir dice que la cantidad de funciones SI a combinar equivale a la cantidad de casos menos 1. Si bien hay cinco casos de descuento, como podemos ver en la tabla arriba, que de hecho hay tres casos: los que reciben 20% de descuento adicional; los que reciben 10% y los que no reciben descuento adicional.

Para construir la fórmula, primero defineremos los nombres que contengan las fórmulas para determinar el tipo de descuento.
Para esto escribimos las fórmulas en celdas laterales, lo que nos permitirá verificar su funcionamiento.


Fíjense en las fórmulas en el rango J2:M7. Los nombres y sus fórmulas son:
P_2_10 --- =Y(C2="Platinum",CONTARA(D2:E2)=2,F2>10000)
P_2 -------- =Y(C2="Platinum",CONTARA(D2:E2)=2)
P_10 ------- =Y(C2="Platinum",F2>10000)
G_2_15 --- =Y(C3="Gold",CONTARA(D3:E3)=2,F3>15000)

La función CONTARA nos permite contar la cantidad de productos comprados en cada compra. Usamos esta función y no CONTAR para evitara resultados erróneos cuando una de las celdas del rango está en blanco.
Los nombres los definimos usando el menú Insertar---Nombre---Definir

La forma más práctica de construir los nombres, es copiando las fórmulas de la barra de fórmulas y pegándolas en la ventanilla "Se refiere a" del diálogo Definir Nombre.
MUY IMPORTANTE: al construir los nombres la celda activa debe ser la primer celda en el rango relevante, en nuestro caso H2. Esto se debe a que en nuestras fórmulas usamos direcciones relativas (sin los símbolos $).

Dado que las condiciones P_2, P_10 y G_2_15 dan como resultado el mismo descuento (10%), las combinaremos en una sola condición usando la función O (OR en su versión inglesa).
Finalmente podemos escribir nuestra fórmula de la siguiente manera:

=SI(P_2_10,F2*0.2,(SI(O(P_2,P_10,G_2_15),F2*0.1,"")))

Como pueden ver (en la columna H), no sólo la fórmula es mucho más compacta, si no que el uso de nombres la convierte en explícita.


Categorías: Funciones&Formulas_, Manejo de Datos_


Technorati Tags: , ,

lunes, marzo 06, 2006

Manejo de pequeñas bases de datos en Excel – Referencias dinámicas con nombres (NAMES).

En la entrada de ayer sobre tablas dinámicas vimos que cada vez que agregamos datos a la base de datos, debemos actualizar la referencia al rango. De no hacer esto, las nuevas líneas de datos no aparecerán en la tabla dinámica.
En el ejemplo de ayer hicimos esto manualmente. Excel nos permite construir referencias dinámicas, que se actualizan con los cambios en el tamaño de la base de datos. La técnica para hacer esto es utilizar "nombres" (NAMES).
Si no estás familiarizado con este tema, puedes ver mi nota sobre
uso de nombres en Excel.
Como ya explicamos, los nombres pueden referirse no sólo a rangos sino también a fórmulas. Para crear el rango dinámico en nuestro caso definiremos un nombre que contendrá la formula DESREF (Offset en la versión inglesa). El archivo de este ejemplo se puede
pivotsp3descargar aquí.
La sintaxis de esta fórmula es la siguiente; DESREF(referencia ;filas;columnas;alto;ancho) donde:

referencia: la celda en el ángulo superior derecho de la lista (en nuestro caso será A1);
filas: para nuestro uso será siempre 0
columnas: para nuestro uso será siempre 0
alto: la cantidad de filas en nuestra lista
ancho: la cantidad de columnas en nuestra lista.


Para convertir esta fórmula en dinámica, usaremos la función CONTARA para determinar los valores de los parámetros alto y ancho. Esta es nuestra fórmula:

=DESREF(Hoja1!$A$1,0,0,CONTARA(Hoja1!$A:$A),CONTARA(Hoja1!$1:$1))


como se puede ver comenzamos en la celda A1, contamos cuantos valores hay en la columna A (que representan la cantidad de líneas de la tabla) y también contamos la cantidad de valores en la línea 1 (que representan la cantidad de columnas en la lista).

Ahora sólo nos queda reemplazar la referencia al rango de datos en la lista por el nombre que acabamos de definir. Los pasos a seguir son:
1 – activamos la Hoja2 y ubicamos el mouse en alguna de las celdas de la tabla dinámica
2 – abrimos el menú Tabla Dinámica--->Asistente



3 – pulsamos el botón "atrás"; en el diálogo que se abre reemplzamos el rango



con el nombre (la forma más práctica es pulsar F3)





A partir de este momento, la referencia de la tabla dinámica se adaptará automáticamente de acuerdo a la cantidad de líneas que agreguemos, o que borremos, a la base de datos.


Categorías: Funciones&Formulas_, Manejo de Datos_


Technorati Tags: ,