Cela ne devrait pas être très difficile, mais je ne peux pas comprendre comment le faire.
J'ai une table semblable à celle-ci
%low %high
0 0 12
1 13 26
...
19 90 94
20 95 100
Lorsque je la représente, Excel utilise par défaut la première colonne sur l'axe des x et trace les deuxième et troisième colonnes en tant que valeurs y. Je veux que la première colonne soit sur l'axe des y à la place. Je suppose qu'il y a un moyen facile de faire cela, mais je ne peux pas le comprendre. La plupart des choses que j'ai trouvées en recherchant ont suggéré le bouton "Changer de ligne/colonne", mais cela fait autre chose.
Merci pour l'aide.
Vous pouvez sélectionner manuellement ce que vous souhaitez représenter.
Voici mes exemples de données:
Je choisis de créer un graphe de dispersion. Lors de la modification de la source de données, je clique sur le bouton Ajouter.
Vous pouvez sélectionner ce que vous voulez comme nom de série mais je sélectionne l'en-tête de colonne. Les valeurs X sont les valeurs de votre colonne X bien sûr. Les valeurs Y sont l’une des colonnes Y.
Répétez le processus pour le deuxième ensemble de données.
Voici une routine VBA simple qui crée un diagramme à nuages de points XY à partir de données organisées avec Y dans la première colonne et un ou plusieurs ensembles de X dans les données suivantes. Sélectionnez la plage de données ou sélectionnez une seule cellule dans cette plage et exécutez le code.
Sub ChartFromInput_YXX()
' assumes first column of input range has Y values
' assumes subsequent columns have X values
' assumes first row of input range has series
Dim rngDataSource As Range
Dim iDataRowsCt As Long
Dim iDataColsCt As Integer
Dim iSrsIx As Integer
Dim chtChart As Chart
Dim srsNew As Series
If Not TypeName(Selection) = "Range" Then
'' Doesn't work if no range is selected
MsgBox "Please select a data range and try again.", _
vbExclamation, "No Range Selected"
Else
Set rngDataSource = Selection
If rngDataSource.Cells.Count = 1 Then
' expand to data range including active cell
Set rngDataSource = rngDataSource.CurrentRegion
End If
With rngDataSource
iDataRowsCt = .Rows.Count
iDataColsCt = .Columns.Count
End With
'' Create the chart
Set chtChart = ActiveSheet.Shapes.AddChart.Chart
With chtChart
.ChartType = xlXYScatterLines
'' Remove any series created with the chart
Do Until .SeriesCollection.Count = 0
.SeriesCollection(1).Delete
Loop
For iSrsIx = 1 To iDataColsCt - 1
'' Add each series
Set srsNew = .SeriesCollection.NewSeries
With srsNew
.Name = rngDataSource.Cells(1, 1 + iSrsIx)
.Values = rngDataSource.Cells(2, 1) _
.Resize(iDataRowsCt - 1, 1)
.XValues = rngDataSource.Cells(2, 1 + iSrsIx) _
.Resize(iDataRowsCt - 1, 1)
End With
Next
End With
End If
End Sub
Si vous avez besoin d'une tâche répétitive, la solution acceptée peut prendre beaucoup de temps. Le grand Jon Peltier a n simple complément pour cela. Voir sa page .
Comme indiqué dans cet autre page de documentation :
Basculer les axes XY
Ceci est un espace réservé pour la page de documentation pour les axes de commutation XY.
À savoir, aucune documentation n'est disponible. Néanmoins, cela vaut vraiment la peine de l'essayer. C'est vraiment facile à apprendre.
Pour les besoins occasionnels d’échange d’axes, ceci tutoriel montre sans doute le moyen le plus simple.
Voir le lien pour les images.