Martin tiene una hoja de trabajo que contiene 50 filas de datos, cada fila describe un solo objeto. La columna A contiene el nombre del objeto, la columna B contiene su coordenada X y la columna C contiene su coordenada Y. Cuando crea un gráfico de dispersión X-Y (columna B contra columna C), el resultado, como se desea, es un gráfico que muestra una matriz de puntos que muestra la ubicación de los objetos. Sin embargo, parece que Martin no puede etiquetar los puntos de datos con sus nombres individuales (de la columna A). Cuando intenta etiquetar los puntos de datos, las únicas opciones disponibles son etiquetar cada punto con su valor X, valor Y o Nombre de serie. Martin se pregunta si hay alguna forma en que pueda usar fácilmente la columna A para etiquetar los puntos de datos trazados.

Esto se puede hacer manualmente, pero en el mejor de los casos es tedioso. Para 50 filas, rápidamente sería brutal, por lo que es mejor mirar un enfoque orientado a macros. Una idea es utilizar una macro similar a la siguiente, que recorre los puntos de datos en el gráfico X-Y y lee los valores de la etiqueta de la columna A.

Sub DataLabelsFromRange()

Dim Cht As Chart     Dim i, ptcnt As Integer

Set Cht = ActiveSheet.ChartObjects(1).Chart     On Error Resume Next     Cht.SeriesCollection(1).ApplyDataLabels _       Type:=xlDataLabelsShowValue, _       AutoText:=True, _       LegendKey:=False

ptcnt = Cht.SeriesCollection(1).Points.Count     For i = 1 To ptcnt         Cht.SeriesCollection(1).Points(i).DataLabel.Text = _           ActiveSheet.Cells(i + 1, 1).Value     Next i End Sub

La macro asume que la primera fila de la hoja de trabajo contiene información de encabezado y que los datos reales comienzan en la fila 2. Si los datos realmente comienzan en la fila 1, entonces cambie «i + 1» a simplemente «i». (Este enfoque macro es en realidad una variación de una macro que se encuentra en las páginas 570-571 del excelente libro de John Walkenbach Excel 2003 Power Programming with VBA.)

Un enfoque no macro bastante único es utilizar los formatos personalizados de Excel.

Todo lo que necesita hacer es configurar un montón de formatos personalizados que contengan solo el texto que desea que se muestre. Por ejemplo, si tiene los valores Edad, 15 y 23 en las celdas A3 a C3, puede formatear la celda B3 o C3 para mostrar la palabra «Edad» aunque el valor seguirá siendo 15 o 23, respectivamente. Simplemente ingrese «Edad» (incluidas las comillas) para el formato personalizado de la celda. Luego, formatee el gráfico para mostrar la etiqueta del valor X o Y.

Cuando haga esto, los valores del eje X del gráfico probablemente cambiarán a cualquiera que sea el nombre del formato (es decir, Edad). Sin embargo, después de formatear el eje X a Número (sin dígitos después del decimal en este caso) en lugar de General, el gráfico debería mostrarse correctamente.

Obviamente, este enfoque aún puede llevar un poco de tiempo implementarlo a medida que configura y aplica un montón de formatos personalizados para cada valor en su serie de datos. Si no desea meterse en escribir y probar sus propias macros o crear un montón de formatos personalizados, siempre puede recurrir a complementos escritos por otros. El MVP de Microsoft, Rob Bovey, ha creado un excelente complemento (gratuito) para Excel que incluye una función de etiquetado X-Y entre muchas otras. Se puede descargar en esta dirección:

http://www.appspro.com/Utilities/ChartLabeler.htm

_Nota: _

Si desea saber cómo usar las macros descritas en esta página (o en cualquier otra página de los sitios ExcelTips), he preparado una página especial que incluye información útil.

link: / excelribbon-ExcelTipsMacros [Haga clic aquí para abrir esa página especial en una nueva pestaña del navegador].

ExcelTips es su fuente de formación rentable en Microsoft Excel.

Este consejo (3503) se aplica a Microsoft Excel 97, 2000, 2002 y 2003. Puede encontrar una versión de este consejo para la interfaz de cinta de Excel (Excel 2007 y posterior) aquí:

link: / excelribbon-Labeling_X-Y_Scatter_Plots [Etiquetado de gráficos de dispersión X-Y].