Данные в составную линейную диаграмму Excel

У меня возникли трудности с заполнением данных в составной линейной диаграмме

У меня есть следующие данные: день недели (воскресенье, понедельник, вторник... суббота)*часы(0,1,2,3...23)*минуты(0/30)

day hour    minutes unique_counts
sunday      0   0   922
sunday      0   30  1011
sunday      1   0   1239
...
sunday      23  0   737
sunday      23  30  985
monday      0   0   1406
...
monday      23  0   545
monday      23  30  666
...
tuesday     0   0   829
...
tuesday     14  0   3059
...
tuesday     23  30  834
...
wednesday   23  30  874
...
thursday    23  30  839
...
friday      23  30  637
...
saturday    23  30  683

Можно ли заполнить эту структуру диаграммой? Поскольку я выполняю много ручных процессов, таких как перестановка отдельных дней недели и их соответствующих значений в отдельные столбцы для создания диаграммы. У меня есть 10 подобных листов, чтобы повторить процесс. Есть ли способ автоматизировать листы или какую-либо общую процедуру для этих данных для создания графика?

X-Axis - hour&minutes (00:00, 00:30, 01:00,...23:00, 23:30)

Y-Axis - unique_counts (x,y,z ....)

individual data line for sunday/monday/tuesday/wednesday/thursday/friday/saturday

P.S. Если это будет легко, прошу меня извинить. Я не очень хорошо разбираюсь в excel. Я разговаривал с человеком, который знает excel лучше меня, и его предложение заключалось в том, чтобы записать макрос при перераспределении данных в отдельные столбцы и применить его для нескольких листов. Поскольку мне нужно больше предложений, я публикую этот вопрос здесь.

Спасибо!

Редактировать [13/08/2014]: я только что получил возможность заглянуть в сводную таблицу. Создан новый столбец времени, объединяющий поля часов/минут. Но, тем не менее, необходимо выполнить некоторый ручной процесс для каждого листа, чтобы сгенерировать сводные данные и диаграмму.

введите здесь описание изображениявведите здесь описание изображения


person Logan    schedule 13.08.2014    source источник


Ответы (1)


Я изменил...
Добавление столбца D с формулой:

D2 -> =B2+C2/60

иметь временную стоимость. Используйте макрос:

Dim Sr, e, i As Integer

e = 2
Sr = 1
ActiveSheet.Shapes.AddChart.Select
ActiveChart.ChartType = xlXYScatterLinesNoMarkers
For i = 2 To 9999
    If (Cells(i, 1).Value = "") And (e + 1 = i) Then Exit For
    If Cells(i, 1).Value <> Cells(e, 1).Value Then
        ActiveChart.SeriesCollection.NewSeries
        ActiveChart.SeriesCollection(Sr).XValues = Range("D" & e & ":D" & i - 1)
        ActiveChart.SeriesCollection(Sr).Values = Range("E" & e & ":E" & i - 1)
        ActiveChart.SeriesCollection(Sr).Name = Cells(e, 1).Value
        e = i
        Sr = Sr + 1
    End If
Next

Код создает многолинейную диаграмму.
Без добавления столбца:

Dim Sr, e, i, k As Integer
Dim Stri As String

e = 2
Sr = 1
ActiveSheet.Shapes.AddChart.Select
ActiveChart.ChartType = xlXYScatterLinesNoMarkers
For i = 2 To 9999
    If (Cells(i, 1).Value = "") And (e + 1 = i) Then Exit For
    If Cells(i, 1).Value <> Cells(e, 1).Value Then
        Stri = "{"
        For k = e To i - 1
            Stri = Stri & (Cells(k, 2).Value + Cells(k, 3).Value / 60) & ";"
        Next
        Stri = Mid(Stri, 1, Len(Stri) - 1) & "}"
        Stri = Replace(Stri, ",", ".")
        Stri = Replace(Stri, ";", ",")
        ActiveChart.SeriesCollection.NewSeries
        ActiveChart.SeriesCollection(Sr).Formula = "=SERIES(""" & Cells(e, 1).Value & """," & Stri & "," & ActiveSheet.Name & "!" & Range("D" & e & ":D" & i - 1).Address & "," & Sr & ")"
        e = i
        Sr = Sr + 1
    End If
Next

Новый код перестроил формулу для диаграммы...
Будьте осторожны со вторым кодом, потому что число отображается как ",", но вставляется как ".".
Вот и причина замены функции.

person user3514930    schedule 13.08.2014