Avatar billede Vildh Praktikant
02. marts 2017 - 09:07 Der er 3 kommentarer

svingende dato-intervaller på x-aksen udlignes som kalender

Hej
Jeg roder med en graf, hvor jeg har data fra fx 1. april, 20. april, 6. juni. Jeg ville gerne afbillede x-aksen til at vise, at der er kortere periode ml. 1-20. april end 20.april-6. juni.
Jeg tænkte på blot at have alle datoer som grundlag, men i så fald vil det være  grafen jo gå ned på 0 på alle datoer uden data.

Gode bud på, hvordan jeg løser dette? Det kan enten være i simpel graf eller pivotgraf, hvis det kan hjælpe
På forhånd tak for hjælpen
Avatar billede kabbak Professor
02. marts 2017 - 09:41 #1
Interpolering:

Hvis du har sted I A  o, Dato i B  og værdier i C.

Så kan du Interpoler  med denne kode, den opretter et nyt ark med resultater.

Public Sub Interpolering()
Rem  A        B      C
Rem Sted  mDate  Måling
Rem L5_S1  14-04-2009  3,377947567

  Dim RåData As Variant, I As Long, P As Long, NyData() As Variant, m As Integer, Y As Integer
    Dim V As Double, WS As Worksheet
    Range("A1").CurrentRegion.Sort Key1:=Range("A2"), Order1:=xlAscending, Key2:= _
                                  Range("B2"), Order2:=xlAscending, Header:=xlGuess, OrderCustom:=1, _
                                  MatchCase:=False, Orientation:=xlTopToBottom, DataOption1:=xlSortNormal, _
                                  DataOption2:=xlSortNormal
    RåData = Range("a1").CurrentRegion
    P = 0
    For I = 2 To UBound(RåData, 1) - 1
        If RåData(I, 1) = RåData(I + 1, 1) Then
            P = P + RåData(I + 1, 2) - RåData(I, 2)

        End If
    Next
    ReDim NyData(P + UBound(RåData, 1), 3)
    NyData(1, 1) = RåData(1, 1)
    NyData(1, 2) = RåData(1, 2)
    NyData(1, 3) = RåData(1, 3)

    P = 2
    For I = 2 To UBound(RåData, 1)
        NyData(P, 1) = RåData(I, 1)
        NyData(P, 2) = RåData(I, 2)
        NyData(P, 3) = RåData(I, 3)
        If I = UBound(RåData, 1) Then Exit For
        P = P + 1
        If RåData(I, 1) = RåData(I + 1, 1) Then

            Y = RåData(I + 1, 2) - RåData(I, 2)
            V = (RåData(I + 1, 3) - RåData(I, 3)) / Y

            For m = 1 To Y - 1
                NyData(P, 1) = RåData(I, 1)
                NyData(P, 2) = RåData(I, 2) + m
                NyData(P, 3) = RåData(I, 3) + V * m
                P = P + 1
            Next
        End If
    Next
    Application.DisplayAlerts = False
    For Each WS In Worksheets
        If WS.Name = "RESULTAT" Then
            WS.Delete
            Exit For
        End If
    Next
    Application.DisplayAlerts = True
    Application.Worksheets.Add
    ActiveSheet.Name = "RESULTAT"
    Range("A1").Resize(UBound(NyData, 1), UBound(NyData, 2)) = NyData
End Sub
Avatar billede kabbak Professor
02. marts 2017 - 09:43 #2
du må ikke have andre data i arket i de følgende kolonner
Avatar billede anedi Ekspert
02. marts 2017 - 16:08 #3
Du kan sagtens have alle datoer, hvor du kun har oplysninger for 1. april, 20. april og 6. juni. Resten af dagene skal der ikke udfyldes noget.

Opret eksempelvis et linje-diagram med dine datoer på x-aksen og dine værdier op ad y-aksen. Nu vil der formentlig fremkomme et tomt diagram, men hvis du højreklikker og vælger Select Data (hedder det på engelsk), så vil der fremkomme en lille boks, hvor der i nederste venstre hjørne står "Hidden and empty cells".
Tryk på denne og vælg hvad du vil gøre med tomme celler. Som udgangspunkt står den nok til mellemrum (gaps). Hvis du vælger "Connect data points with line" skulle du få din figur som ønsket.

Tillæg: Hvis du kun vil have vist de datoer du nævner kan du lave en ny datokolonne,, hvor det kun er 1.4.2017, 20.4.2017 og 6.6.2017 der fremgår.

Vh
Anedi
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Excel kurser for alle niveauer og behov – find det kursus, der passer til dig

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester