Bagaimana cara membuat bagan Excel yang menarik data dari beberapa lembar?

Saya memiliki angka penjualan bulanan yang disimpan dalam lembar terpisah. Saya ingin membuat plot penjualan untuk beberapa produk per bulan. Setiap produk akan diwakili dalam garis berwarna berbeda pada grafik yang sama dengan setiap bulan berjalan di sepanjang sumbu x.

Apa cara terbaik untuk membuat bagan garis tunggal yang diambil dari sel relatif yang sama pada beberapa lembar?

Larutan

Gunakan Chart Wizard.

Pada Langkah 2 dari 4, ada tab berlabel "Series". Ada 3 bidang dan kotak daftar pada tab ini. Kotak daftar menunjukkan seri berbeda yang sudah Anda sertakan pada bagan. Setiap seri memiliki bidang "Nama" dan bidang "Nilai" yang khusus untuk seri itu. Bidang terakhir adalah bidang "Category (X) axis labels", yang umum untuk semua seri.

Klik pada tombol "Add" di bawah kotak daftar. Ini akan menambahkan seri kosong ke kotak daftar Anda. Perhatikan bahwa nilai untuk "Name" dan untuk "Values" berubah ketika Anda menyorot sebuah seri dalam kotak daftar.

Pilih seri baru Anda.

Terdapat ikon di setiap bidang di sisi kanan. Ikon ini memungkinkan Anda untuk memilih sel di buku kerja untuk menarik data. Ketika Anda mengkliknya, Wizard untuk sementara menyembunyikan dirinya sendiri (kecuali untuk bidang yang Anda kerjakan) yang memungkinkan Anda untuk berinteraksi dengan buku kerja.

Pilih lembar yang sesuai di buku kerja dan kemudian pilih bidang dengan data yang ingin Anda tampilkan di bagan. Tombol di sebelah kanan bidang dapat diklik untuk memunculkan wizard.

Semoga membantu.

EDIT: Hal di atas berlaku untuk tahun 2003 dan sebelumnya. Untuk tahun 2007, ketika grafik dipilih, Anda seharusnya dapat melakukan tindakan serupa menggunakan opsi "Select Data" pada tab "Design" pada pita. Ini akan membuka kotak dialog yang mencantumkan Series untuk grafik. Anda dapat memilih seri seperti yang Anda bisa di Excel 2003, tetapi Anda harus menggunakan tombol " Add &" dan " Edit &" untuk menentukan seri kustom.

Komentar (5)

Berikut ini adalah beberapa kode dari Excel 2010 yang mungkin bisa digunakan. Ini memiliki beberapa hal spesifik (seperti memfilter karakter bad-encode dari judul) tetapi dirancang untuk membuat beberapa grafik multi-seri dari data 4 dimensi yang memiliki data absolut dan berbasis persentase. Modifikasi sesuka Anda:

Sub createAllGraphs()

Const chartWidth As Integer = 260
Const chartHeight As Integer = 200

If Sheets.Count = 1 Then
    Sheets.Add , Sheets(1)
    Sheets(2).Name = "AllCharts"
ElseIf Sheets("AllCharts").ChartObjects.Count > 0 Then
    Sheets("AllCharts").ChartObjects.Delete
End If
Dim c As Variant
Dim c2 As Variant
Dim cs As Object
Set cs = Sheets("AllCharts")
Dim s As Object
Set s = Sheets(1)

Dim i As Integer

Dim chartX As Integer
Dim chartY As Integer

Dim r As Integer
r = 2

Dim curA As String
curA = s.Range("A" & r)
Dim curB As String
Dim curC As String
Dim startR As Integer
startR = 2

Dim lastTime As Boolean
lastTime = False

Do While s.Range("A" & r)  ""

    If curC  s.Range("C" & r) Then

        If r  2 Then
seriesAdd:
            c.SeriesCollection.Add s.Range("D" & startR & ":E" & (r - 1)), , False, True
            c.SeriesCollection(c.SeriesCollection.Count).Name = Replace(s.Range("C" & startR), "Â", "")
            c.SeriesCollection(c.SeriesCollection.Count).XValues = "='" & s.Name & "'!$D$" & startR & ":$D$" & (r - 1)
            c.SeriesCollection(c.SeriesCollection.Count).Values = "='" & s.Name & "'!$E$" & startR & ":$E$" & (r - 1)
            c.SeriesCollection(c.SeriesCollection.Count).HasErrorBars = True
            c.SeriesCollection(c.SeriesCollection.Count).ErrorBars.Select
            c.SeriesCollection(c.SeriesCollection.Count).ErrorBar Direction:=xlY, Include:=xlBoth, Type:=xlCustom, Amount:="='" & s.Name & "'!$F$" & startR & ":$F$" & (r - 1), minusvalues:="='" & s.Name & "'!$F$" & startR & ":$F$" & (r - 1)
            c.SeriesCollection(c.SeriesCollection.Count).ErrorBar Direction:=xlX, Include:=xlBoth, Type:=xlFixedValue, Amount:=0

            c2.SeriesCollection.Add s.Range("D" & startR & ":D" & (r - 1) & ",G" & startR & ":G" & (r - 1)), , False, True
            c2.SeriesCollection(c2.SeriesCollection.Count).Name = Replace(s.Range("C" & startR), "Â", "")
            c2.SeriesCollection(c2.SeriesCollection.Count).XValues = "='" & s.Name & "'!$D$" & startR & ":$D$" & (r - 1)
            c2.SeriesCollection(c2.SeriesCollection.Count).Values = "='" & s.Name & "'!$G$" & startR & ":$G$" & (r - 1)
            c2.SeriesCollection(c2.SeriesCollection.Count).HasErrorBars = True
            c2.SeriesCollection(c2.SeriesCollection.Count).ErrorBars.Select
            c2.SeriesCollection(c2.SeriesCollection.Count).ErrorBar Direction:=xlY, Include:=xlBoth, Type:=xlCustom, Amount:="='" & s.Name & "'!$H$" & startR & ":$H$" & (r - 1), minusvalues:="='" & s.Name & "'!$H$" & startR & ":$H$" & (r - 1)
            c2.SeriesCollection(c2.SeriesCollection.Count).ErrorBar Direction:=xlX, Include:=xlBoth, Type:=xlFixedValue, Amount:=0
            If lastTime = True Then GoTo postLoop
        End If

        If curB  s.Range("B" & r).Value Then

            If curA  s.Range("A" & r).Value Then
                chartX = chartX + chartWidth * 2
                chartY = 0
                curA = s.Range("A" & r)
            End If

            Set c = cs.ChartObjects.Add(chartX, chartY, chartWidth, chartHeight)
            Set c = c.Chart
            c.ChartWizard , xlXYScatterSmooth, , , , , True, Replace(s.Range("B" & r), "Â", "") & " " & s.Range("A" & r), s.Range("D1"), s.Range("E1")

            Set c2 = cs.ChartObjects.Add(chartX + chartWidth, chartY, chartWidth, chartHeight)
            Set c2 = c2.Chart
            c2.ChartWizard , xlXYScatterSmooth, , , , , True, Replace(s.Range("B" & r), "Â", "") & " " & s.Range("A" & r) & " (%)", s.Range("D1"), s.Range("G1")

            chartY = chartY + chartHeight
            curB = s.Range("B" & r)
            curC = s.Range("C" & r)
        End If

        curC = s.Range("C" & r)
        startR = r
    End If

    If s.Range("A" & r)  "" Then oneMoreTime = False ' end the loop for real this time
    r = r + 1
Loop

lastTime = True
GoTo seriesAdd
postLoop:
cs.Activate

End Sub
Komentar (1)

2007 lebih powerful dengan ribbon...:=) Untuk menambahkan seri baru dalam grafik: Pilih Chart, lalu klik Design pada Chart Tools di ribbon, Pada ribbon Design, pilih "Select Data" pada Data Group, Kemudian Anda akan melihat tombol untuk Tambah untuk menambahkan seri baru.

Semoga itu akan membantu.

Komentar (0)