24 de junio de 2008

Gráficos velocímetro II

Continúa de la nota anterior.

Procedamos a la parte difícil, la aguja de nuestro velocímetro. Esto se hace con un gráfico de dispersión XY (que es distinto a un gráfico de líneas). Para lograr que la aguja marque la proporción exacta en el disco (i. e. la proporción de circunferencia correcta), necesitamos convertir el alcance (siguiendo el ejemplo, 88%) en radianes para posteriormente, con las funciones SENO y COS, calcular las coordenadas x y y del punto correspondiente. Luego simplemente agregamos el punto (0, 0) para que Excel los una con la línea correspondiente.
Recordemos los datos a graficar y la tabla auxiliar que ya hemos hecho para la elaboración del disco:
Calculemos ahora cúantos grados debe medir cada punto porcentual. Para ello escribimos en la celda B8 la fórmula:

=(B3-D2)/(D5-D2)*PI()
Resultando 1.837571.
Ahora elaboramos en A10:C12 otra tabla auxiliar:

En B12 escribimos la fórmula:

=-COS(B8), y en C12:

=SENO(B8)

Con esto tenemos ya las coordenadas de los dos puntos que necesitamos: (0, 0) y (0.2636, 0.9646). El siguiente paso es copiar estas dos puntos en la gráfica. Para ello seleccionamos el rango A10:C12, y damos Edición - Copiar (o Ctrl + Insert). Seleccionamos los datos de la gráfica (el "disco") y damos Edición - Pegado especial... (no clic derecho - Pegado especial...). Excel mostrará el siguiente cuadro de diálogo:

Seleccionamos los valores mostrados y damos Aceptar. La gráfica queda:


Evidentemente no es lo que buscábamos. Seleccionamos la segunda serie de datos (la exterior), y damos clic derecho - Tipo de gráfico - Dispersión XY subtipo Dispersión - Aceptar.

Seleccionamos el Eje Y, clic derecho - Formato de ejes... Escala. En valor mínimo escribimos -1, en valor máximo 1 y en Eje de valores (X) cruza en: establecemos 0. Repetimos los mismo con el eje X:

Damos clic derecho en la nueva serie de datos, Formato de serie de datos... y en Tramas - línea seleccionamos Personalizada y el estilo, color y grosor preferido. En Marcador seleccionamos Ninguno. Aceptar.

Si queremos reducir el tamaño de la aguja entonces aumentamos la escala de ambos ejes. Finalmente eliminamos ambos ejes y sus etiquetas:
Para obtener los colores exactos de Sales Force, necesitamos modificar la paleta de colores de Excel, tema de otra futura nota.

13 de junio de 2008

Gráficos velocímetro

Varias empresas utilizan los servicios de Sales Force (por cierto, uno de los peores softwares que he utilizado. Está a años luz de la flexibilidad y facilidad de uso que nos proporciona Excel. Realmente, en cuanto a confiabilidad de la información es absolutamente pésimo. A menos que el usuario tenga un PhD en bases de datos) para gestionar su información. Sales Force utiliza gráficos tipo velocímetro para mostrar alcances:

Excel no soporta de forma predeterminada este tipo de gráfico. Sin embargo, combinando un par de gráficas, podemos obtener algo prácticamente idéntico. Esto fue lo que logré:

Este gráfico es en realidad un gráfico tipo anillo de cuatro secciones (de las cuales una ocupa el 50% del mismo y no tiene color de línea ni de relleno), combinado con un gráfico de dispersión XY (cuyo origen está en el centro del gráfico y que tiene dos puntos, que al unirlos con una línea, forman la "aguja" del velocímetro), con los formatos adecuados. Seguimos los siguientes pasos:
Comencemos por elaborar la escala (el "disco") del velocímetro. Supongamos que queremos graficar los siguientes datos:

Si deseamos que la escala vaya de 0 a 150%, con divisiones de 50%, elaboramos la siguiente tabla auxiliar:

Es decir, del lado izquierdo tenemos las etiquetas que llevarán los segmentos, y, del lado derecho, los valores proporcionales de cada segmento. Como cada uno de los primeros tres segmentos miden lo mismo (50%), ponemos el mismo valor (0.5, puede ser cualquier otro) a cada uno. El cuarto segmento, como ocupará la mitad del "disco", tiene un valor igual a la suma de los tres primeros (1.5).

Seleccionamos la tabla e iniciamos el Asistente para gráficos. En Tipo de gráfico, seleccionamos Anillos, subtipo Anillos. Clic dos veces en Siguiente... para ir directamente al paso 3. Aquí, en la pestaña Título no ponemos nada, en Leyenda desactivamos Mostrar leyenda y en Rótulos de datos activamos la opción Categoría (sugeridos). Damos clic en Finalizar obteniendo el siguiente gráfico:
A continuación, damos clic derecho en el gráfico, Formato de Serie de datos... y vamos a la pestaña Opciones. En Ángulo del primer sector, establecemos 270, Aceptar.
Finalmente, seleccionamos la sección inferior del gráfico (150%), damos clic derecho, Formato de punto de datos... En la pestaña Tramas, en Borde y en Área seleccionamos ninguno. Movemos las etiquetas, y les damos formato. Quedando:


Continuamos en la siguiente entrada.

24 de mayo de 2008

Como encontrar Duplicados

Marcar Duplicados
Uno de los problemas mas frecuentes que nos encontramos los contadores en nuestro trabajo es tener duplicidad de elementos en una lista donde no debe de tenerlos.

Cuando estamos trabajando con una lista de unos cuantos elementos no hay problema, saltan a la vista, pero cuando la lista es de 5000 renglones y por algun motivo no es aconsejable ordenar estamos en problemas.


Para esto propongo usar el formato condicional


1.- Format-Contional Formating

2.- “Formula is” y escribir lo siguiente: “=COUNTIF($F$18:$F$22,F18)>1″Donde “$F$18:$F$22″ es el rango donde se pueden repetir los valores y “F18″ es la primera celda de ese rango (Noten que no tiene los signos “$”)

3.- En el boton “Format” agrega los formatos que sean de tu gusto y da click en “Ok” para finalizar
Si esto es de tu agrado y tienes que hacerlo continuamente tienes la opcion de usar VBA para automatizarlo, el codigo seria el siguiente:



Sub Mark_Duplicates()

Dim Rng_Cmplte As String

Dim Rng_Cell As String

Rng_Cmplte = Selection.Address

Rng_Cell_a = Range(ActiveCell.Address).Address

Rng_Cell_b = Replace(Rng_Cell_a, “$”, “”)

Selection.FormatConditions.Delete

Selection.FormatConditions.Add Type:=xlExpression, Formula1:= _ “=COUNTIF(” & Rng_Cmplte & “,” & Rng_Cell_b & “)>1″

With Selection

.FormatConditions(1).Font.Bold = True

.Italic = False

.ColorIndex = 3

End With

Selection.FormatConditions(1).Interior.ColorIndex = 6

End Sub


Posiblemente este codigo sea sujeto a perfeccionarse pero hasta ahora lo he usado frecuentemente sin ningun problema.

Se aceptan sugerencias, Leonel, algun comentario??

2 de mayo de 2008

Autor invitado

Agradezco la colaboración de Ricardo López, de IsSolved.com, quien publicó la nota anterior "Adiós a ese molesto Get Pivot Data".

Aprovecho la ocasión para comunicar a mis lectores que, en reciprocidad con Ricardo, estaré publicando algunas notas en su blog. Les comunicaré cuando así sea. Asimismo, si alguno de ustedes desea realizar alguna consulta, profesional o no, puede contactarnos a cualquiera de los dos. Confío en que al ser dos autores, mejore la calidad de las notas y consultoría ofrecidas.

Quiénes leen regularmente este blog

Creative Commons License
Esta obra está bajo una licencia de Creative Commons.
Excel, Excel 2003, Excel 2007, Excel 2010, Excel 2016, Excel Online y el logo XL son marcas registradas de Microsoft Corporation.
Powered By Blogger