Etichettatura grafici a dispersione XY

Martin ha un foglio di lavoro contenente 50 righe di dati, ogni riga descrive un singolo oggetto. La colonna A contiene il nome dell'oggetto, colonna B contiene la coordinata X, e la colonna C contiene la coordinata Y. Quando si crea un grafico a dispersione XY (colonna B contro colonna C) il risultato, come desiderato, è un grafico che mostra una matrice di punti che illustrano la posizione degli oggetti. Tuttavia, Martin non riesce a etichettare i punti dati con i loro nomi individuali (dalla colonna A). Quando cerca di etichettare i punti dati le uniche opzioni disponibili sono di etichettare ogni punto con il suo valore X, il valore Y, o di serie Nome. Martin si chiede se c'è un modo in cui può facilmente utilizzare colonna A per etichettare i punti dati tracciati.

Questo può essere fatto manualmente, ma è noioso al meglio. Per 50 righe sarebbe rapidamente essere brutale, quindi è meglio guardare un approccio macro-oriented. Un'idea è quella di utilizzare una macro simile alla seguente, che passi attraverso i punti dati nel grafico XY e legge i valori di etichetta dalla colonna A.

Sub DataLabelsFromRange ()
Dim Cht Come Grafico
Dim i, ptcnt As Integer

Impostare Cht = ActiveSheet.ChartObjects (1) .Chart
On Error Resume Next
Cht.SeriesCollection (1) .ApplyDataLabels _
Tipo: = xlDataLabelsShowValue, _
Glossario: = True, _
LegendKey: = False

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

La macro presuppone che la prima riga del foglio di lavoro contiene informazioni di intestazione e che i dati effettivi inizia nella riga 2. Se i dati inizia realmente nella riga 1, quindi modificare "i + 1" semplicemente "i". (Questo approccio macro è in realtà una variante di una macro trovato su pagine 570-571 del libro di John Walkenbach Excel 2003 Programmazione di alimentazione con VBA. Nonostante il titolo del libro, la macro funziona ancora bene con le versioni successive di Excel.)

Un approccio non-macro piuttosto singolare è quello di utilizzare formati personalizzati di Excel. Tutto quello che dovete fare è impostare una serie di formati personalizzati che contengono solo il testo che si desidera visualizzare. Ad esempio, se avete i valori di età, 15, e 23 nelle celle A3 a C3, è possibile formattare o cella B3 o C3 per mostrare la parola "Age", anche se il valore rimane 15 o 23, rispettivamente. Basta inserire "Age" (comprese le virgolette) per il formato personalizzato per la cella. Poi formattare il grafico per visualizzare l'etichetta per X o Y valore.

Quando si esegue questa operazione, i valori dell'asse X del grafico probabilmente cambiato tutto per qualunque sia il nome formato è (cioè, Age). Tuttavia, dopo la formattazione l'asse X a Number (senza cifre dopo la virgola in questo caso), piuttosto che generale, il grafico dovrebbe visualizzare correttamente.

Questo approccio può ovviamente ancora prendere un po 'di tempo per attuare come si imposta e applicare una serie di formati personalizzati per ogni valore nella serie di dati. Se non si vuole pasticciare con la scrittura e testare le proprie macro o la creazione di un gruppo di formati personalizzati, si può sempre rivolgersi a componenti aggiuntivi scritti da altri. Microsoft MVP Rob Bovey ha creato un eccellente (gratuito) add-in per Excel che include una funzione di etichettatura XY tra molti altri. Può essere scaricato a questo indirizzo:

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

ExcelTips è la vostra fonte per la formazione Microsoft Excel conveniente. Questo suggerimento (11652) si applica a Microsoft Excel 2007 e il 2010. Si può trovare una versione di questo suggerimento per l'interfaccia del menu precedente di Excel qui: Etichettatura grafici a dispersione XY.