CREANDO GRAFICOS CON EXCEL La técnica consistía en usar rangos dinámicos en la función SERIES del gráfico. La ventaja de esta técnica es que es consistente con todas las versiones de Excel. Pero si usamos la versión 2003 o 2007 de Excel podemos usar una técnica mucho más sencilla. Supongamos que tenemos esta tabla de ventas por mes a partir de la cual creamos un sencillo gráfico de columnas
Queremos que al agregar los próximos meses el gráfico se actualice automáticamente. Para hacerlo sacaremos provecho de la funcionalidad Datos--Listas.
Empezamos por seleccionar alguna de las celdas de la tabla, por ejemplo A1 y abrimos el menú Datos-Lista-Crear Lista
Excel selecciona automáticamente todo el área de la tabla
Después de controlar que la selección es la deseada, apretamos Aceptar. Excel ha creado ahora una lista y expandirá el área de la tabla automáticamente cada vez que agreguemos (o quitemos) una fila. Excel también abre la barra de herramientas de listas donde tenemos todo tipo de herramientas para administrarla
Para agregar una fila a la lista seleccionamos alguna celda del área. Veremos que aparece un marco azul alrededor del área de la lista y una estrella azul en la primer celda libre, donde debemos poner los datos
Todo los que nos queda por hacer es agregar los datos y el gráfico se actualizará automáticamente
En Excel 2007 esta técnica funciona de la misma manera pero con, como no podía ser de otra manera, algunas diferencias funcionales: # - La funcionalidad no se llama Lista sino Tablas y no se encuentra en la pestaña Datos como en Excel 2003 sino en la pestaña Insertar
# - Al seleccionar alguna celda de la lista/tabla no aparece una nueva línea en blanco en la tabla. De todas maneras si agregamos un mes inmediatamente debajo del último registro de la tabla, Excel expande la lista en forma automática. Otra técnica en Excel 2007 es usar la tecla Tab. Por ejemplo, si después de introducir el dato de setiembre en la celda B10 apretamos TAB, Excel selecciona automáticamente la celda A11 y expande la tabla. Microsoft ha agregado muchas otras herramientas y funcionalidades a las tablas en Excel 2007, pero esto será tema de una futura nota.
Technorati Tags: MS Excel
Publicado por Jorge L. Dunkelman en 5:53 PM 3 comentarios Enlaces a esta entrada Etiquetas: Excel 2007, Graficos
lunes, noviembre 03, 2008 Gráfico de columnas con banda sombreada. La misma lectora que me consultaba cómo poner un fondo en un gráfico de columnas, me presenta un nuevo desafío: cómo poner una banda sombreada en un gráfico de columnas. En mi blog sobre gráficos y presentación de datos, que seguirá inactivo por ahora, ya había publicado una nota sobre cómo colorear un área entre dos líneas de un gráfico. Aquí usaremos esa técnica, pero con algunas adaptaciones. Empecemos por plantear el problema. Tenemos esta tabla de velocidad de lectura de cuatro alumnos
Con la cual hemos creado este gráfico
Queremos crear este gráfico, donde una banda de color señala la zona comprendida entre un límite inferior y uno superior
Los pasos a seguir son los siguientes: 1 - Agregamos una fila antes de la primer fila de datos e incluimos una fila en blanco después de la última fila de la tabla; en nuestro ejemplo la fila 2 y la fila 7
2 - Modificamos la serie de del gráfico para que incluya las filas que acabamos de agregar
Ahora el gráfico se ve así
3 - Agregamos dos columnas, una "limite inferior" y la otra "límite superior". Estas columnas contienen los puntos de dos series que agregaremos al gráfico para crear la banda
4 - Agregamos las series "límite inferior" y "límite superior" al gráfico en el formulario de Datos de origen, asegurándonos que la serie "limite superior" sea la segunda y "límite inferior la tercera" (el orden de las series es importante!)
No asustarse del resultado y seguir adelante! 5 - Seleccionamos la serie "limite superior" y en el menú Formato serie de datos-Eje, la relacionamos al eje secundario
Esto hará que aparezca un eje Y secundario. Seleccionamos la serie "límite inferior" y la relacionamos al eje secundario.
Un paso importante es asegurarnos que ambos ejes Y tengan exactamente la misma escala. 6 - Seleccionamos la serie "limite superior" y cambiamos el tipo de gráfico a Área. Luego hacemos lo mismo con la serie "límite inferior". Nuestro gráfico se ve ahora así
7 - Elegimos un color más "blando" para la serie "límite superior" y para "limite inferior elegimos el color del fondo del gráfico. A esta altura del partido el gráfico debe verse así
8 - Seleccionamos el eje de las X y abrimos el menú de Formato de ejes. En la pestaña Escala quitamos la marca de la opción "Eje de valores Y cruza entre categorías"
Finalmente llegamos a nuestra meta:
Este gráfico es totalmente dinámico. Si cambiamos los valores de las series límite superior e inferior, la banda sombreada se "moverá" de acuerdo a los nuevos valores.
Technorati Tags: MS Excel
Publicado por Jorge L. Dunkelman en 7:22 PM 1 comentarios Enlaces a esta entrada
Etiquetas: Graficos
jueves, octubre 30, 2008 Poner fondos en gráficos de columnas Excel Supongamos, como me consultaba una lectora, que tenemos esta tabla que mide la velocidad de lectura de los alumnos de un curso
Hemos puesto un fondo para resaltar los datos del rango entre 45 palabras a 100 palabras. A partir de estos datos creamos este gráfico de columnas
¿Cómo hacemos para poner un fondo, tal como en la tabla, en el gráfico? Es decir, queremos obtener este gráfico
La técnica consiste en crear una serie auxiliar para definir el fondo. Éste esta formado por una serie de columnas, donde hemos cambiado la definición de ancho del rango a 0 y hemos cancelado los bordes, para crear la ilusión de una única columna. Veamos los pasos: 1 - creamos una columna auxiliar en el rango C2:C22
En las celdas paralelas a los valores del rango que queremos resaltar ponemos el valor 70 (el valor máximo del eje Y del gráfico). En las celdas fuera del rango ponemos 0 (o dejamos en blanco). 2 - Agregamos la nueva serie al gráfico. Seleccionamos la serie y la copiamos (Ctrl+C), seleccionamos el gráfico y abrimos el menú Edición-Pegado Especial y en el formulario seleccionamos "nueva serie" y "columnas"
3 - Seleccionamos la primer serie (no la que acabamos de agregar). Abrimos el menú de Formato de Series de Datos y en la pestaña Eje la relacionamos al eje secundario. Nos aseguramos que ambos ejes tengan la misma escala y formato
4 - Seleccionamos la serie que acabamos de agregar y abrimos el menú Formato Serie de Datos. En Tramos ponemos Bordes a Ninguno y elegimos un color claro
En la pestaña Opciones definimos Ancho de rango como 0
En la pestaña Eje nos aseguramos que la serie pertenece al eje principal. A pesar que el sentido común parece decir lo contrario, en los gráficos de Excel las series del eje secundario son representadas en el frente y las del primario en el fondo. Una técnica similar es crear una columna auxiliar donde todos los valores equivalen al valor superior del eje de la Y del gráfico original
Repetimos los pasos anteriores: copiamos la nueva serie y relacionamos la serie original al eje secundario. Cambiamos las definiciones de la nueva serie, como hicimos en el paso 4.
El resultado será
A pesar que vemos sólo una única columna en el fondo, en realidad la serie incluye 21 columnas. Seleccionamos la columna correspondiente al valor 45 (el primero que queremos resaltar en la serie) y le cambiamos el color. Para seleccionamos un punto de la serie (columna en el gráfico) hacemos un clic para seleccionar la serie y un segundo para seleccionar el punto/columna
A continuación seleccionamos las otras columnas y apretamos F4 para copiar el nuevo formato. El resultado será
La primer técnica nos permite refinar nuestro modelo para hacer aún más dinámico. En las celdas C3 y D3 ponemos los límites de los valores del fondo
En el rango E3:E22 introducimos esta fórmula (la fórmula original era matricial y fue reemplazada por esta más sencilla) =(A3>=$C$3)*(A3<=$D$3)*MAX($B$3:$B$23)
Agregamos la serie al gráfico y seguimos todos los pasos señalados en la primer técnica. Luego movemos el gráfico de manera que oculte la columna. De esta manera podemos cambiar los parámetros en las celda C3 y D3 y veremos los cambios en el gráfico en forma instantánea
Technorati Tags: MS Excel
Publicado por Jorge L. Dunkelman en 12:09 PM 3 comentarios Enlaces a esta entrada Etiquetas: Graficos
viernes, junio 27, 2008 Area entre líneas en gráfico de Excel Para los que se interesan en crear gráficos con Excel, acabo de publicar en mi blog sobre gráficos y presentación de datos una nota sobre como colorear el área comprendida entre dos líneas en un gráfico de Excel
Buen fin de semana y vamos España!
Technorati Tags: MS Excel
Add to del.icio.us • Share on Facebook • Digg This! • Subscribe to this feed • Sphere: Related Content • Save to del.icio.us Publicado por Jorge L. Dunkelman en 9:18 AM 0 comentarios Enlaces a esta entrada Etiquetas: Graficos
martes, junio 17, 2008 Columnas de ancho variable en Excel Una posibilidad interesante es representar dos series de datos en un gráfico de columnas de manera que la altura de cada columna represente por ejemplo el volumen de ventas de una
serie de productos y el ancho de cada columna represente la cantidad de unidades vendidas por cada producto. La idea es crear este gráfico este gráfico
para representar estos datos
La exlicación de la técnica pueden verla en la nota sobre gráficos de columnas con ancho variable que acabo de publicar en mi blog sobre gráficos y presentación de datos.
Technorati Tags: MS Excel
Add to del.icio.us • Share on Facebook • Digg This! • Subscribe to this feed • Sphere: Related Content • Save to del.icio.us Publicado por Jorge L. Dunkelman en 11:09 AM 3 comentarios Enlaces a esta entrada Etiquetas: Graficos
sábado, mayo 17, 2008 Gráficos de Barra en lugar de columnas De toda la colección de gráficos que ofrece Excel, tal vez el de columnas sea el más usado. Si bien el gráficos de barras parece ser un gráfico de columnas volteado 90 grados, hay
situaciones en las cuales su uso me parece más recomendable. En mi blog sobre gráficos y presentación de datos puede leer una nota sobre por qué prefiero este gráfico de barras, a pesar del trabajo extra que requiere construirlo
a éste de columnas que Excel construye con solo dos clics del mouse
Technorati Tags: MS Excel
Add to del.icio.us • Share on Facebook • Digg This! • Subscribe to this feed • Sphere: Related Content • Save to del.icio.us
Publicado por Jorge L. Dunkelman en 12:49 AM 2 comentarios Enlaces a esta entrada Etiquetas: Graficos
lunes, abril 28, 2008 Gráfico interactivo según valor de celda Una nueva entrada en mi blog sobre gráficos y presentación de datos, muestra cómo crear un gráfico interactivo cuyos datos dependen de la celda que hayamos seleccionado dentro de un determinado rango. Los valores representado en el gráfico, dependen de qué celda en el rango A3:A12 (Departamentos) hayamos elegido
Este modelo usa nombres para determinar los rangos del gráfico y un evento para que el cambiose produzca automáticamente al seleccionar alguna de las celdas del rangi-
Technorati Tags: MS Excel
Add to del.icio.us • Share on Facebook • Digg This! • Subscribe to this feed • Sphere: Related Content • Save to del.icio.us
Publicado por Jorge L. Dunkelman en 11:24 PM 7 comentarios Enlaces a esta entrada Etiquetas: Graficos
sábado, abril 26, 2008 Crear gráficos tipo pirámide en Excel En mi blog sobre gráficos y presentación de datos acabo de publicar una nota sobre cómo crear gráficos de tipo piramide en Excel.
El uso más corriente de estos gráficos es representar y comparar datos de dos poblaciones distintas.
Technorati Tags: MS Excel
Add to del.icio.us • Share on Facebook • Digg This! • Subscribe to this feed • Sphere: Related Content • Save to del.icio.us Publicado por Jorge L. Dunkelman en 6:38 PM 0 comentarios Enlaces a esta entrada Etiquetas: Graficos
sábado, marzo 15, 2008 Gráficos con imágenes - algunos trucos Una buena forma de enfatizar la representación de un presupuesto en un gráfico es mostrar un billete partido en pedazos, donde cada porción representa en forma proporcional un
concepto del presupuesto
La técnica para hacerlo esta explicado en mi blog sobre gráficos y presentación de datos, en la nota Gráfico de presupuesto con Autoformas. Si quieren el mismo gráfico, pero orientado horizontalmente
pueden leer la nota Otro gráfico de presupuesto con imágenes.
Technorati Tags: MS Excel
Add to del.icio.us Publicado por Jorge L. Dunkelman en 6:24 PM 2 comentarios Enlaces a esta entrada Etiquetas: Graficos
martes, marzo 11, 2008 Nota sobre gráficos enlazados En mi blog sobre gráficos y presentación de datos con Excel, acabo de publicar una nota sobre gráficos enlazdos. La nota se generó a partir de la consulta de uno de mis lectores sobre cómo crear una situación de "drill down" en un gráfico. Es decir, supongamos que tenemos un gráfico de columnas y al hacer clic en una de las columnas, pasamos a otro gráfico que detalla los datos de la columna. Las explicaciones y los detalles de cómo crear estos gráficos se pueden leer en la nota mencionada. Technorati Tags: MS Excel
Add to del.icio.us Publicado por Jorge L. Dunkelman en 10:13 PM 3 comentarios Enlaces a esta entrada Etiquetas: Graficos
sábado, marzo 01, 2008 Gráficos dinámicos – Mostrar puntos en función de valores. Ya hemos visto una técnica para determinar cuantos puntos de una serie mostrar en un gráfico. En esta entrada veremos como determinar la cantidad de puntos a mostrar en función de un determinado valor. Supongamos que queremos generar un gráfico de columnas a partir de esta tabla de ventas (el archivo con el ejemplo se puede descargar aquí)
Nuestro objetivo es determinar la cantidad de puntos a exhibir en función de un determinado valor. Digamos que queremos exhibir los 5 meses con más ventas. Empezamos por crear una columna auxiliar, con la fórmula =JERARQUIA(B2,$B$2:$B$13)+CONTAR.SI($B$2:B2,B2)-1
Esta fórmula la otorga a cada valor un número de orden. Usamos CONTAR.SI para "desempatar" en caso que dos meses tenga la misma suma de ventas. Ahora creamos una tabla auxiliar donde ordenamos la tabla original de mayor a menor. Para lograr esto usamos las funciones INDICE y COINCIDIR
En el rango E2:E13 ponemos la serie del 1 al 12 que nos servirá como referencia para ordenar los valores. En el rango F2:F13 ponemos la fórmula =INDICE($A$2:$A$13,COINCIDIR(E2,$C$2:$C$13,0)) Esta fórmula usa los valores del rango E2:E13 para obtener el mes adecuado. Lo mismo hacemos en el rango G2:G13 para poner la suma del mes. Nuestro próximo paso es crear el gráfico. En esta etapa veremos todos los meses
Ahora tenemos que crear dos rangos dinámicos usando nombres (ver la nota del enlace más arriba). Creamos dos nombres mes =DESREF(Hoja1!$F$2,0,0,Hoja1!$I$1,1) suma = DESREF(Hoja1!$G$2,0,0,Hoja1!$I$1,1) Como ven, hemos ligado los nombres a la celda I1 de la hoja. En esta celda ponemos, en esta etapa, la cantidad de puntos de la serie que queremos mostrar. Como estos nombres se refieren a la tabla auxiliar, donde hemos ordenado los datos en forma decreciente, si ponemos 5 en la celda I1, los rangos dinámicos mostrarán los primeros cinco meses de la tabla, que son los primeros 5 meses con mayores ventas.
Nuestro próximo paso es reemplazar en la función SERIES del gráfico, los rangos de los valores por los nombres que acabamos de crear. Seleccionamos el gráfico y abrimos el menú Datos de Origen
Y reemplazamos los rangos del gráfico por los nombres
Esto también se puede hacer seleccionando la serie de datos en el gráfico y reemplazando los valores en la función SERIES que aparece en la barra de fórmulas. Cada vez que reemplacemos el valor en la celda I1, el gráfico mostrará los valores correspondientes
Nuestro último paso es que el gráfico dependa de un valor de ventas. Por ejemplo, ponemos 60000 en una celda y que el gráfico nos muestre todos los meses con ventas mayores a 60000. Para esto agregamos una celda auxiliar, I2, donde ponemos el monto de ventas a partir del cual queremos mostrar los meses. En la celda I1 ponemos esta fórmula =CONTAR.SI(G2:G13,">"&I2) Ahora nuestro gráfico muestra todos los meses con ventas mayores al monto introducido en
la celda I2
Technorati Tags: MS Excel
Add to del.icio.us Publicado por Jorge L. Dunkelman en 5:07 PM 0 comentarios Enlaces a esta entrada Etiquetas: Graficos
sábado, diciembre 29, 2007 Grafico de columnas con maximo y minimo marcados Existen situaciones en las cuales cuando representamos una tabla de valores en un gráfico de columnas, no es fácil distinguir entre el valor máximo y el mínimo de la serie. Una posibilidad es dar color distinto a a las columnas que representan estos valores, como mostramos en la nota de ayer. Otra posiblidad es agregar una flecha de cloque con el texto "Max" o "Min" sobre la columna correspondiente, como en este ejemplo
La técnica para hacerlo está explicada en la nota Remarcar máximos y mínimos en gráfico de columnas de Excel, en mi blog sobre gráficos y presentación de datos. Technorati Tags: MS Excel
Add to del.icio.us Publicado por Jorge L. Dunkelman en 9:42 PM 0 comentarios Enlaces a esta entrada Etiquetas: Graficos
viernes, diciembre 28, 2007 Formato condicional en graficos Excel de columnas En mi blog sobre gráficos y presentación de datos en Excel acabo de publicar una nota sobre cómo lograr que las columnas de un gráfico cambien de color en función del valor que representan. Supongamos que queremos señalar en un gráfico de columnas que representa las ventas del año por meses, en que meses las ventas han estado por debajo de un mínimo esperado, en qué meses han estado en los valores aceptados y en que meses han superado estos valores. Por ejemplo, este gráfico
donde los meses con ventas por debajo de los 50.000 aparecen en rojo; los meses con ventas entre 50.000 y 80.000 en verde y los meses que superan los 80.000 en azul. El archivo con el ejemplo se puede descargar
aquí
Technorati Tags: MS Excel
Add to del.icio.us Publicado por Jorge L. Dunkelman en 5:54 PM 2 comentarios Enlaces a esta entrada Etiquetas: Graficos
jueves, diciembre 20, 2007 Gráficos de columnas flotantes en Excel En mi blog sobre gráficos y presentación de datos con Excel, acabo de publicar una nota sobre cómo construir un gráfico de columnas flotantes. La nota surgió como respuesta a una consulta de uno de mis lectores llevo semanas investigando si se puede hacer una gráfica donde cada barra sea un rango de valores... es decir, por ej la primera barra vaya de 30 a 50, la segunda barra de 90 a 234 y la tercera de -23 a 45...
Espero que encuentren la nota útil. Technorati Tags: MS Excel
Add to del.icio.us Publicado por Jorge L. Dunkelman en 10:07 PM 2 comentarios Enlaces a esta entrada Etiquetas: Graficos
martes, diciembre 18, 2007 Escala logarítmica en gráficos de Excel Supongamos que tenemos esta serie de datos que queremos representar en un gráfico de Excel
Elegimos el gráfico de dispersión y este es el resultado
Como pueden ver el gráfico, por decirlo con suavidad, no sirve para nada y en el mejor de los casos sólo puede crear confusión. A pesar que el punto 2 es dos veces y media más grande que el punto 1, ambos en el gráfico ambos parecen tener la misma magnitud. Peor todavía con el punto 4 que es 12,5 veces mayor que el punto 1. Ahora hagamos lo siguiente: seleccionamos el eje de la Y y abrimos el menú de formato del eje
En la parte inferior del diálogo marcamos la opción Escala Logarítmica. El resultado será el siguiente:
Como pueden ver, tenemos ahora un gráfico claro y explicativo. Excel permite en cierto tipo de gráficos usar escalar logarítmicas lo que nos permite representar en un gráfico valores de magnitudes distintas, como el de nuestro ejemplo. Para mejorar aún más el gráfico podemos agregar rótulos con los valores
Intuitivamente entendemos que el gráfico representa los puntos de acuerdo a sus magnitudes. Pero si queremos corregir la escala del eje de las Y, de manera que el máximo sea 15000 y no 100000, veremos que no podemos hacerlo con las opciones nativas de Excel.
Si queremos que la escala del eje de las Y de nuestro gráfico se extienda del 0 a 15000, tendremos que usar otra técnica. Empezamos por calcular los logaritmos de los valores de la tabla (no tengan miedo, Excel tiene la función LOG para esta tarea)
Y representamos estos nuevos datos en un gráfico de dispersión
Ahora borramos de nuestro gráfico de las líneas de división y las marcas del eje
quedando este gráfico
Ahora tenemos que crear una serie de valores para las líneas de división del eje de las Y. En una tabla ponemos los valores que queremos que aparezcan en la escala de la Y, y calculamos sus logaritmos. Entre ambos valores ponemos una serie de valores 0
Seleccionamos Valores X y Log Y de la tabla y los agregamos al gráfico, seleccionándolo y abriendo el menú Gráfico—Agregar Datos
y luego
El resultado se verá de la siguiente manera
Ahora tenemos que ocuparnos de la nueva serie que acabamos de agregar para crear la escala y las líneas de división del eje de la Y. Empezamos por seleccionar la serie y abrir el diálogo de Formato de serie de datos
poniendo los valores de Línea y Marcador a "ninguno". En Rótulo de datos señalamos Valor de X
Vamos a la pestaña de Barras de Error y en la opción Valor Fijo ponemos 8
El resultado es un tanto desalentador, pero enseguida lo corregiremos
Seleccionamos las barras de error y abrimos el diálogo de Formato de Barras de Error. Allí ponemos un formato más conveniente
Ahora nos tenemos que ocupar de los rótulos de la Y, que por ahora aparecen todos como 0. Empezamos por cambiar la ubicación de los rótulos a la izquierda del eje
Ahora, seleccionamos el primer rótulo de la serie (con un segundo clic), en la barra de las fórmulas ponemos el signo = y seleccionamos la celda que contiene el valor de la línea (en
nuestro caso A11).
Repetimos el procedimiento para el resto de las líneas de división y obtenemos este gráfico
Si no estamos satisfechos con el resultado, podemos cambiar los valores en la tabla y obtener mejores resultados visuales. Por ejemplo, las líneas divisorias del 10 y del 15 quedan muy cerca una de la otra. Cambiamos el 10 en la tabla por 5
Y obtenemos este gráfico mejorado
Este gráfico es "semilogarítmico", es decir, sólo uno de los ejes tiene una escala logarítmica. También podemos crear gráficos "doble logarítmicos" donde ambos ejes tienen una escala logarítmica.
Technorati Tags: MS Excel
Add to del.icio.us Publicado por Jorge L. Dunkelman en 10:33 PM 7 comentarios Enlaces a esta entrada Etiquetas: Graficos
domingo, marzo 25, 2007 Mejorar gráficos estándar de Excel Hace un tiempo que leo el blog de BizViz de Jorge Camoes, que trata sobre visualización de información. Es un blog interesante, que recomiendo leer a aquellos que usen Excel para elaborar y presentar información. El blog está escrito en portugués, lo cual no representa una barrera para el lector de habla castellana. En una de las últimas notas, Jorge Camoes da un ejemplo de cómo mejorar los gráficos estándar de Excel. Veamos este ejemplo. Dada una tabla con dos columnas de datos, años y ventas, el gráfico de columnas que Excel construye es el siguiente:
Más que empezar a analizar los defectos de este gráfico, veamos como lo podemos mejorar, sin mucho esfuerzo En primer lugar borramos la leyenda, que coincide con el título (tenemos sólo una serie)
Luego quitamos el fondo del área del gráfico y el borde
En ambos ejes, elegimos una fuente más pequeña y quitamos la marca de Autoescala. De esta forma también logramos que todos los puntos en el eje e las X tengan un rótulo.
En el menú de formato de líneas de división, elegimos una línea más delicada
Ahora es el turno de cambiar la escala del eje del eje de las Y
Finalmente, podemos cambiar el color estándar de Excel a uno de nuestro agrado. El resultado final
Si estamos satisfechos del resultado, podemos guardar el gráfico como tipo personalizado definido por el usuario. De esta manera, no tendremos que volver sobre el proceso de mejorar el gráfico estándar de Excel, cada vez que queramos producir un gráfico de columnas. Seleccionamos el gráfico y abrimos el menú de Tipo de Gráfico. En la pestaña Tipos Personalizados señalamos Definido por el Usuario y pulsamos Agregar
En el diálogo que se abre definimos un nombre y una descripción para el gráfico
A partir de ahora tendremos en la pestaña de Tipos Personalizados, un nuevo modelo de gráfico que podremos elegir.
Technorati Tags: MS Excel
Add to del.icio.us
Publicado por Jorge L. Dunkelman en 11:48 PM 0 comentarios Enlaces a esta entrada Etiquetas: Graficos
sábado, febrero 24, 2007 Gráficos Dinámicos con Autofiltro Una característica interesante de Autofiltro es que si creamos una gráfico a partir de una lista, al aplicar Autofiltro, el gráfico se irá adaptando a los datos visibles (filtrados). El archivo con el ejemplo se puede descargar aqui
Por ejemplo, a partir de esta lista
creamos este gráfico (que no tiene mucho sentido, en esta etapa del ejemplo)
Si filtramos la lista para mostrar sólo las ventas de José, el gráfico se adaptará
En cuanto empezamos a trabajar con este gráfico descubrimos que hay un problema: el gráfico se "encoge" cuando navega sobre líneas ocultas. Por ejemplo, nuestro gráfico puede llegar a verse así
Podemos sobreponernos a este problema y, mejor aún, hacer que en el título de nuestro gráfico aparezca el nombre del agente cuyas ventas estamos mostrando. Todo esto puede hacerse sin macros y usando las técnicas que mostramos en la nota anterior sobre cómo ocultar gráficos en Excel. Como en ese ejemplo, usaremos dos hojas. En la Hoja1 tendremos la tabla de datos y mostraremos el gráfico (de hecho, una imagen del gráfico). En la hoja dos reside el "motor" del modelo: el gráfico y la lista de los agentes. En la celda contigua al agente ponemos una fórmula que totaliza las ventas de cada agente. Esto nos servirá para identificar el nombre del agente cuyo gráfico queremos exhibir en la Hoja1. Empezamos por cortar y pegar el gráfico que acabamos de crear a otra hoja (en nuestro ejemplo a la Hoja2).
Seleccionamos el rango "sobre" el cual se encuentra el gráfico y lo definimos con un nombre. En nuestro caso definimos el nombre "grafico" grafico: =Hoja2!$A$2:$G$17 En la Hoja2 elegimos una celda vacía, por ejemplo $I$1 y la llamamos sin_graf sin_graf =Hoja2!$I$2 En el rango A20:A24 ponemos la lista de los agentes; en la celda B20 ponemos la fórmula =SUMAR.SI(agente,A20,ventas) y la copiamos al rango B20:B24. Los nombres usados en la fórmula se refieren a rangos en la Hoja1 agente: =DESREF(Hoja1!$A$2,0,0,CONTARA(Hoja1!$A:$A)-1,1) ventas: =DESREF(Hoja1!$C$2,0,0,CONTARA(Hoja1!$C:$C)-1,1) En la Hoja1 ponemos en la celda E1 la siguiente fórmula =INDICE(Hoja2!A20:A24,COINCIDIR(Hoja1!F1,Hoja2!B20:B24,0)) En la celda F1 ponemos la fórmula =SUBTOTALES(9,ventas) Esta fórmula nos da el total de ventas del agente elegido con Autofiltro. La fórmula en la celda E1 nos da el nombre del agente, basado en el resultado de la celda F1. Volvemos por un instante a la Hoja2 y ligamos el cuadro de texto del título del gráfico a la celda E1 en la Hoja1
Ahora tenemos que crear una imagen vinculada al gráfico en la Hoja3. Elegimos una celda vacía, y la copiamos (Ctrl+C). Seleccionamos la celda E3, abrimos el menú Edición pulsando Mayúsculas (Shift) y elegimos Pegar--Vínculos Imagen. El resultado es una imagen vacía del tamaño de la celda.
Ahora creamos el nombre mostrar_graf =SI(ESNOD(Hoja1!$E$1),sin_graf,grafico) Esta fórmula nos permite mostrar u ocultar el gráfico basado en su resultado. Para qu esto sucede ligamos la imagen a la fórmula de la siguiente manera: Seleccionamos la imagen que creamos con Pegar Vínculos—Imagen y en la barra de fórmulas reemplazamos la referencia por "=mostrar_graf"
Ahora podemos filtrarla lista con Autofiltro y veremos aparecer el gráfico. Por ejemplo, si elegimos Miguel
Este modelo tiene un serio problema potencial: si dos agentes tienen exactamente el mismo volumen de ventas, no se mostrará el gráfico. Las soluciones posibles son: 1 – usar macros para determinar el nombre de la primera fila visible en la columna A a partir de la celda A2; ver el ejemplo desarrollado en el sitio Contextures; 2 – agregar una columna auxiliar que agregue a cada total de ventas del mes de cada agente un número identificatorio suficientemente pequeño como para no alterar los resultados. Por ejemplo, a Roberto le damos el número 1; a las ventas de Roberto le sumamos 1/1000000. Lo mismo con los restantes (Pedro 2/1000000, etc). Luego basamos las fórmulas y el gráfico en la columna auxiliar.
Technorati Tags: MS Excel
Add to del.icio.us Publicado por Jorge L. Dunkelman en 11:01 PM 3 comentarios Enlaces a esta entrada Etiquetas: Autofiltro, Formato Condicional, Graficos
Graficos Excel con listas desplegables – Segunda nota En el pasado mostramos como generar un gráfico dinámico en Excel agregándole una lista desplegable. Para esto usamos el control Cuadro Combinado de la barra de herramientas Formulario. La tabla de datos es la siguiente
Y el gráfico el siguiente
Uno de mis lectores me pregunta cómo hacer si queremos mostrar el gráfico inverso. Es decir, los meses de ventas por línea de producto. La lista desplegable deberá mostrar las líneas de productos y el gráfico mostrar doce columnas, una por cada mes de ventas
La técnica es muy similar a la que mostramos en la nota anterior, pero con algunas pequeñas variantes. Los pasos son los siguientes: 1 – Ponemos la lista en una hoja a la que llamaremos "Columnas"
Para este ejemplo hemos ubicado la tabla de datos en el rango A3:D15 2 – En una nueva hoja, a la que llamaremos "Control", ponemos: en la celda A1 la fórmula =INDICE(columnas!B3:D3;A2)
en el rango A4:A15 la lista de los meses en el rango B4:B15 la siguiente fórmula =INDICE(columnas!$B$4:$D$15;COINCIDIR(A4;columnas!$A$4:$A$15;0);$A$2) en el rango D4:D6 la lista de las líneas de productos La hoja "Control" se verá así
El error #¡VALOR! En la celda A1 desaparecerá más adelante. 3 – En la hoja "Columnas" creamos el gráfico, pero basándonos en las tabla de la hoja Control
Activamos la barra de herramientas Formularios, elegimos el control Cuadro combinado
y lo ponemos sobre el gráfico, tal como mostramos en la nota anterior sobre el tema. Abrimos el menú del control y le damos las siguientes definiciones
Cerramos el menú y elegimos una de las líneas de la lista desplegable.
Como el control esta ligado a la celda A2 de la hoja Control, el error desaparece y el gráfico empieza a funcionar como gráfico dinámico. La diferencia en la técnica se debe a que no podemos usar un rango horizontal como referencia en el control Cuadro Combinado.
Technorati Tags: MS Excel
Add to del.icio.us Publicado por Jorge L. Dunkelman en 12:26 AM 8 comentarios Enlaces a esta entrada Etiquetas: Graficos
viernes, febrero 23, 2007 Ocultar gráficos en Excel En las últimas notas hemos hablado sobre cómo ocultar y mostrar hojas en un cuaderno Excel. Siguiendo con esta onda del "ocultismo", veamos hoy cómo ocultar un gráfico que hemos insertado en una hoja Excel. Supongamos esta tabla de datos con la cual construimos un gráfico
Una forma de ocultar el gráfico sería ocultar las filas de la hoja sobre las cuales "flota" el gráfico. Pero si queremos ubicar el gráfico a la izquierda de la tabla, no podremos hacerlo sin ocultar, al mismo tiempo, la tabla misma. La solución consiste en ligar el gráfico a una imagen y crear un nombre que contenga una fórmula con una condición para mostrar u ocultar la imagen. Veamos la solución por partes. Empezamos por mudar el gráfico cortándolo y pegándolo en una nueva hoja. Nos aseguramos que en la nueva hoja, la ubicación del gráfico coincida con un rango determinado. En nuestro ejemplo, el gráfico está ubicado sobre el rango A1:F16.
Seleccionamos el rango sobre el cual se encuentra el gráfico y le damos un nombre. En nuestro caso lo llamaremos "grafico"
Esto puede hacerse usando el cuado de nombres (como muestro en la imagen) o con el menú Insertar—Nombres—Definir Ahora seleccionamos una celda en blanco (por ejemplo, H1) y la damos el nombre "ocultar". Volvemos a la Hoja1, copiamos (Ctrl+C) una celda en blanco cualquiera, por ejemplo J1. Seleccionamos la celda que será el extremo superior izquierdo del gráfico, en nuestro caso D1. Mientras apretamos la tecla Mayúsculas (Shift) abrimos el menú Edición—Pegar vínculo de imagen
Esta opción sólo aparece si apretamos la tecla Mayúsculas (Shift) al abrir el menú Edición. Hemos creado una imagen que está vinculada a la celda J1.
Reemplazamos el vínculo de la imagen, $J$1, por el nombre "grafico" que contiene el rango sobre el cual se encuentra el gráfico
Inmediatamente aparece el gráfico de la Hoja2 que hemos vinculado a la imagen.
Nuestro próximo paso consiste en crear un nombre con una fórmula condicional que muestre u oculte el gráfico y una celda con un valor que sirva de parámetro a esta fórmula. Creamos una lista desplegable con dos valores, si y no, en la celda C1. Para esto usamos Validación de Datos
Ahora creamos un nombre, mostrar_grafico, conteniendo la siguiente fórmula: =SI(Hoja1!$C$1="si",grafico,ocultar) Seleccionamos la imagen en la Hoja1 y reemplazamos el vínculo al nombre "grafico" en la barra de fórmulas por el nombre "mostrar_grafico"
A partir de este momento, cuando seleccionamos "si" en la celda C1, veremos el gráfico. Si seleccionamos "no", el gráfico desaparecerá.
Aquí pueden
descargar el archivo con el ejemplo.
Technorati Tags: MS Excel
Add to del.icio.us Publicado por Jorge L. Dunkelman en 7:43 AM 12 comentarios Enlaces a esta entrada Etiquetas: Graficos, Validacion de Datos
sábado, enero 06, 2007 Graficos Excel sin espacios en blanco Supongamos un reporte de ventas para el mes de diciembre. Este informe muestra las ventas día a día. Los sábados y domingos no hay ventas y por lo tanto la tabla muestra celdas vacías para esto días
El gráficos (Líneas) resultante de esta tabla será el siguiente
Como pueden apreciar, Excel deja espacios en blanco para las fechas sin datos. Si queremos llenar estos espacios podemos aplicar una de estas diferentes técnicas 1 – Seleccionamos el gráficos y abrimos el menú Herramientas---Opciones. En la pestaña Gráfico, seleccionamos la opción "Interpolar"
El resultado será
2 – Eliminar los sábados y domingos de la tabla
El resultado es similar al anterior.
En este caso, el eje está definido como "escala de tiempo".
Existe también la posibilidad de definirlo como "categoría". En ese caso, los puntos aparecerán distanciados en forma pareja, sin tomar en cuenta el número de días transcurridos entre cada fecha
3 – Usar la función =NOD() (NA en inglés), en las celdas vacías