jueves, septiembre 17, 2009

Gráfico Excel con fecha.

Un lector me consulta cómo hacer este gráfico en Excel


Gráfico Excel con fecha.

Como pueden ver el eje de las X (categorías en Excel) es una escala de tiempo. Lo particular en este gráfico es que en el eje de las X sólo aparecen las fechas de los puntos de la serie de valores.
Crear este gráfico en Excel no es trivial y es lo que mostraremos en esta nota.

El resultado final será el siguiente

Gráfico Excel con fecha.

Empezamos por crear los datos básicos de grafico (fechas y valores) y el gráfico



Gráfico Excel con fecha.


Gráfico Excel con fecha.

Como puede observarse aparecen en el gráfico de las X valores que no figuran explícitamente en los datos de origen (en la columna A). Esto se debe a que Excel reconoce los datos en la columna A como fechas. Si nos fijamos en las definiciones del eje de la X

Gráfico Excel con fecha.

vemos que el valor mínimo es la primer fecha en el rango, el valor máximo es el último valor en el rango y la unidad principal es un mes.


Dado que las fechas en los datos no se distribuyen en intervalos regulares, no podemos crear el efecto deseado. No tenemos forma de ocultar las fechas para las cuales no hay datos. Para lograr el efecto deseado tendremos que transformar los datos.


Empezamos por crear datos auxiliares en las columnas D y E

Gráfico Excel con fecha.

En la columna D ponemos todas fechas, día por día, comprendidas entre la primer y la última fecha. En la columna E ponemos la fórmula

=BUSCARV(D3,$A$2:$B$10,2,0)

Esta forma pone el dato original en la fecha o #N/A si para la fecha no hay datos. Ahora cambiamos los datos en el gráfico por los del rango D1:E333

Gráfico Excel con fecha.

El segundo paso es cambiar el tipo de eje de las X de Automático a Categoría

Gráfico Excel con fecha.

Ahora tenemos que realizar una segunda transformación a los datos. En nuestro ejemplo creamos un rango de datos en las columnas G y H. En la columna G ponemos la fórmula


=SI(ESNUMERO(E2),D2,"")


y en la columna H sencillamente creamos una referencia a los datos en la columna E

Gráfico Excel con fecha.

El resultado es que en los puntos en los que no hay valores, la fecha no aparece.

Ahora podemos usar esta serie de datos en el gráfico, con este resultado

Gráfico Excel con fecha.

Como puede verse todavía no hemos llegado al resultado final. Nuestros próximos retoques son los siguientes:


# - abrimos el menú de formato del Eje de las X y en la pestaña Escala ponemos el valor 1 en la casilla de “Número de categorías entre rótulos de marcas de graduación



Gráfico Excel con fecha.

# - En la pestaña Tramas señalamos “Ninguna” en la opción Marca de graduación principal



Gráfico Excel con fecha.

El resultado “casi” final es



Gráfico Excel con fecha.

# - No queremos que el primer punto de la serie esté sobre el eje de la Y, para lo cual agregamos líneas en blanco al principio del rango y modificamos los datos de origen del gráfico de acuerdo



Gráfico Excel con fecha.

# - Para crear el efecto de retícula, cambiamos la trama de las líneas de división y definimos barras de error para los puntos de la serie.

Este paso implica cambiar la definición de la escala del eje de las Y a valores fijos, quitando las marcas de Automático de Mínimo y Máximo

Gráfico Excel con fecha.

Abrimos el menú formato de serie de datos activamos la pestaña Barras de Error Y, elegimos la opción Ambas y en Valor Fijo ponemos el máximo del eje de las Y (400 en nuestro ejemplo)

Gráfico Excel con fecha.

Finalmente seleccionamos las barras de error y abrimos el menú de formato. En la pestaña tramas elegimos la trama punteada para la línea y en Marcador la opción a la derecha

Gráfico Excel con fecha.

Con esto termina nuestra tarea

Gráfico Excel con fecha.




Technorati Tags:

miércoles, septiembre 16, 2009

Selecciones múltiples en Excel basadas en un valor

Ya hemos visto en el pasado cómo realizar selecciones múltiples usando Ir A (F5 o Ctrl+G). El problema surge cuando queremos hacer una selección múltiple basándonos en algún valor.
Por ejemplo, después de importar un informe del sistema ERP en mi empresa, tuve la necesidad de borrar todas las filas cuyas celdas en la columna A contengan la palabra “Total”.

Pongamos un ejemplo reducido



Selecciones múltiples en Excel

Necesitamos borrar todas las líneas con totales para poder usar los datos en una tabla dinámica.
Una solución posible es escribir una macro que haga la tarea. Pero el blog Bacon Bits trae una sugerencia mucha más sencilla y todo el crédito va para él.


Empezamos por seleccionar el rango relevante, en nuestro caso A1:A14. Abrimos el menú Buscar y reemplazar (Ctrl+B o Edición—Buscar) y en la casilla Buscar ponemos “Total” (o la palabra o combinación de valores que queremos usar). Apretamos Buscar todo



Selecciones múltiples en Excel

Todas las celdas aparecen en la ventanilla del diálogo pero sólo la primera en la lista está seleccionada (con un fondo azul). Apretamos Ctrl+E para elegir todas las celdas de la lista (o apretando Mayúsculas señalamos la última celda en la lista)



Selecciones múltiples en Excel

Al hacer esto, todas las celdas que contienen la palabra “Total” son seleccionadas.

Apretamos Cerrar y poniendo el marcador del mouse sobre una de las celdas seleccionadas abrimos el menú contextual con el botón derecho.

Elegimos Eliminar y Toda la fila y apretamos Aceptar

Selecciones múltiples en Excel

Eso es todo!

Selecciones múltiples en Excel


De la misma manera podemos aplicar un fondo de color a las celdas seleccionadas, o borrar el contenido, etc.







Technorati Tags:

martes, septiembre 08, 2009

Encontrar el encabezamiento en una matriz con Excel

Supongamos esta tabla de datos, que muestra la ubicación de ciertos agentes en ciertas zonas por día de la semana


matriz en Excel

Para encontrar qué agente estará en qué zona en determinada fecha podemos usar una fórmula como ésta

=INDICE(agentes,COINCIDIR(C12,fechas,0),COINCIDIR(C13,zonas,0))


dónde usamos los nombres

agentes =indice!$C$3:$F$9


fechas =indice!$B$3:$B$9


zonas =indice!$C$2:$F$2


Es decir, dados los valores de la fecha y la zona en la matriz, podemos encontrar el agente.
Pero la pregunta es, ¿cómo encontramos la zona sabiendo la fecha y el agente? Es decir, ¿en qué zona se encontrará Roberto el 04/09/2009? Es decir, tenemos que hacer una búsqueda “hacia arriba”.


Empezamos por agregar dos nuevos nombres para hacer más legible nuestra fórmula


tabla =zona!$C$3:$F$10
agente =zona!$C$4:$C$10

En la celda C13 ponemos la fecha, en la celda C14 el nombre del agente y en la celda C15 esta fórmula:

=DESREF(tabla,0, COINCIDIR(C14, DESREF(tabla,COINCIDIR(C13,fechas,0),0,1,COLUMNAS(tabla)),0)-1,1,1)

matriz en Excel

Para explicar esta fórmula veamos cuál es la función de cada uno de sus componentes.

Empezamos con


=DESREF(tabla,COINCIDIR(C13,fechas,0),0,1,COLUMNAS(tabla))


Si ponemos esta fórmula en un rango de una fila por cuatro columnas obtenemos los nombres que corresponden a la fecha en la matriz (nótese que entrado la fórmula como matricial)

matriz en Excel

La formula anterior es uno de los argumentos de


=COINCIDIR(C14, DESREF(tabla,COINCIDIR(C13,fechas,0),0,1,COLUMNAS(tabla)),0)


Si pegamos esta fórmula en una celda veremos que el resultado es 4

matriz en Excel

ya que el valor de C14 es “Mario” y este valor es el cuarto en el vector que hemos obtenido con la fórmula anterior.


Si reducimos ahora la fórmula en C15 a =DESREF(tabla,0,4) vemos que el “ancla” de DESREF la celda C3, con 0 filas des desvío y 4 columnas a la derecha.




Technorati Tags: