lunes, febrero 23, 2009

Ocultar #N/A en rótulos de datos en gráficos Excel

Supongamos que hemos representado los datos de la tabla en un gráfico, donde uno de los datos de la serie es un error #N/A





En nuestro gráfico hemos agregado rótulos para mostrar los valores de los puntos de la serie (las columnas). El problema es que no queremos que el resultado #N/A aparezca en el gráfico.


Si se trata de un gráfico “estático”, es decir que los datos no cambiarán, sería suficiente con seleccionar el rótulo del punto de la serie y borrarlo. Pero si se trata de un gráfico “dinámico”, es decir que los datos irán cambiando, tendremos que encontrar una solución también dinámica.


El contenido del rótulo está ligado a los datos de la tabla, por lo cual deberemos actuar sobres éstos. Una posibilidad es agregar una columna auxiliar para hacer una pequeña transformación de los datos: cuando un dato de #N/A lo transformamos en vacío (“”). Para eso usamos la fórmula

=SI(ESNUMERO(B2),B2,"")



Ahora cambiamos la referencia de la serie de datos al rango C2:C6





Si bien evitamos el #N/A, aparece en su lugar un 0, cuando nuestro objetivo es que no aparezca nada




Para lograrlo tendremos que cambiar el formato de número en el rango C2:C6. Usamos el formato personalizado

#;-#;;




Los formatos de números tienen la siguiente estructura:


Formato de números positivos; formato de números negativos; formato de ceros; formato de texto.


No hemos definido ningún formato para los ceros (no hay ningún parámetro entre el segundo y tercer “;”), por lo que los valores cero (y los vacíos) no son representados. Los valores en el gráfico “heredan” esta característica.



Technorati Tags:

10 comentarios:

  1. Hola Jorge,
    Efectivamente funciona para un gráfico de columnas, muchas gracias. Aunque yo llevo tiempo intentando averiguar como hacerlo para un grafico de lineas. Sabrías como conseguirlo? muchas gracias, jason.

    ResponderBorrar
  2. Hola
    en el caso de un gráfico de líneas necesitas que la celda esté efctivamente vacía. Es decir, que no contenga nada, ni valores ni fórmulas. Una posibilidad es borrar manualmente los valores #N/A. Si se trata de una tabla con muchos valores de ese tipo, puedes usar el truco de Ir a (F5 o Ctrl + G) y seleccionar todas las celdas con #N/A usando constantes-errores.

    ResponderBorrar
  3. Estimado Jorge:
    Tus post me han servido muchísimo para aprender mas de excel pero en este momento me encuentro en una complicación. como hago para que los valores N/A desaparezcan de un gráfico con barras condicionales?(como tu me enseñaste tambien). uso el excel 2010.
    Muchas gracias

    ResponderBorrar
  4. De la misma manera, lo cual en los gráficos "condicionales" (supongo que te refieres a esta nota) agrega un poco de complicación.
    Si los valores del gráfico no cambian, pueden sencillamente seleccionar el rótulo y eliminarlo.

    ResponderBorrar
  5. Excelente. Ahora, un poco mas difícil.

    Estoy haciendo gráfica de barras, pero sobre estas estoy generando una línea de tendencia. Si la fórmula que tenía me colocaba un Cero, o un espacio en blanco ("") igual lo tomaba como cero, la línea de tendencia se volvía loca, porque el cero la afecta, por lo cual encontré que con NOD() me aparecía en la celda #N/A, con lo que la línea de tendencia no toma en cuenta ese número y ya no se me distorsionaba.

    Pero si muestro la etiqueta de datos, todos esos #N/A se ven horribles en la gráfica.

    ¿Hay alguna forma de que solo los valores #N/A no se vean en la etiqueta del gráfico, o que yo le pueda poner otra cosa (como un "") pero que la línea de tendencia no se distorsione?

    ResponderBorrar
  6. Mauro, es lo que explico en esta nota (¿o no entendí tu consulta?)

    ResponderBorrar
  7. Efectivamente parece que no fui claro en mi pregunta. Si hago lo que dice esta nota, aunque no se "vea" el cero, al momento de hacer una tendencia el sigue entendiendo que hay un cero y la desvía

    ResponderBorrar
  8. AHora entendí! Bien, por algún motivo no podemos aplicar formato personalizados de número cuando se trata de #N/A, por eso uso el truco de trnasformarlo en 0. Pero en tu caso eso genera una distorsión.
    Si se trata de un gráfico o una tarea no repetitiva, odrías sencillamente seleccionar el rótulo y borrarlo (un clic selecciona todos los rótulos, un segundo clic sólo el seleccionado).

    ResponderBorrar
  9. Pues repetitiva repetitiva... es para el seguimiento a los indicadores estratégicos de mi empresa, osea, que se actualizarán muchas pestañas, mes a mes, por los próximos 5 años :P

    Bueno, como la necesidad es mas de orden "estético", pues lo solucioné de otra forma. Evidentemente "Tengo" que dejar el #N/A para que la tendencia no se me dañe. Así que opté mas bien por quitar la etiqueta de las columnas, y ponerle debajo la "Tabla de Datos", la cual no muestra los valores #N/A pero si muestra los demás valores de las columnas... no es la solución exacta a lo pedido, pero de una forma alternativa solucioné mi necesidad ;)

    ResponderBorrar
  10. Siempre podemos ehcar mano a Vba (macros).

    ResponderBorrar

Nota: sólo los miembros de este blog pueden publicar comentarios.