Avatar billede nehm Nybegynder
23. februar 2011 - 12:00 Der er 4 kommentarer og
1 løsning

Jeg sidder og kæmper med at få lavet en formel som kan tage nedenstående celler.

Jeg sidder og kæmper med at få lavet en formel som kan tage nedenstående celler.

TID ligger i B
Status ligger i A

Tid mellem VGODK og KLAR eller AVSLUTAD

Er der nogen som har nogle gode ider ?


Hist.status    Hist.status tid    WONUM
VGODK    2011-01-03 08:37:45    224026
KLAR    2011-01-03 09:35:55    224026
VGODK    2011-01-03 09:44:47    224033
PÅGÅR    2011-01-03 11:53:22    224033
AVSLUTAD    2011-01-03 12:01:21    224033
VGODK    2011-01-03 11:00:56    224047
GODKÄND    2011-01-04 11:25:48    224047
AVSLUTAD    2011-01-19 13:09:41    224047
VGODK    2011-01-03 13:11:36    224078
PÅGÅR    2011-01-04 09:34:20    224078
VMATRL    2011-01-04 09:34:49    224078
AVSLUTAD    2011-01-07 14:10:29    224078
VGODK    2011-01-03 13:28:41    224082
PÅGÅR    2011-01-03 15:05:07    224082
AVSLUTAD    2011-01-20 11:17:13    224082
VGODK    2011-01-03 14:04:16    224085
GODKÄND    2011-01-05 16:52:37    224085
AVSLUTAD    2011-01-07 13:04:22    224085
VGODK    2011-01-03 14:16:49    224092
GODKÄND    2011-01-05 16:53:52    224092
AVSLUTAD    2011-01-07 11:24:57    224092
VGODK    2011-01-03 14:30:12    224093
GODKÄND    2011-01-04 11:26:56    224093
AVSLUTAD    2011-01-24 11:58:44    224093
VGODK    2011-01-03 14:37:57    224095
Avatar billede nehm Nybegynder
23. februar 2011 - 12:01 #1
i C ligger et opgave nr. og resultatet skal være pr. opgave nr.
Avatar billede ae03 Novice
23. februar 2011 - 12:30 #2
Kan kolonnerne byttes rundt, så opgavenumrene kommer i første kolonne?
Avatar billede ae03 Novice
23. februar 2011 - 15:10 #3
Indsæt følgende nedefter i kolonne D, så skulle tiden fra første registrering (VGODK) til registreringen med KLAR eller AVSLUTAD fremkomme ud for KLAR/AVSLUTAD:

=HVIS(ELLER(VENSTRE(a2;4)="KLAR"; VENSTRE(a2; 8)="AVSLUTAD"); b2-INDEKS(b$2:b$1000; SAMMENLIGN(c2; c$2:c$1000; 0)); "")

VH Lars
Avatar billede bak Seniormester
25. februar 2011 - 13:09 #4
Da jeg i forvejen skulle bruge en makro til noget lignende, lavede jeg denne her.

Man skal udpege en celle i tabellen og en outputcelle for ny tabel, så danner makroen en pivotabel på dine data med automatisk tidsberegning.

Nå pivottabellen er dannet skal makroen ikke bruges mere. Nu kan man bare højreklikke of refreshe pivottabellen, når man har fået nye data.
(i dit datadump er der en usynlig karakter (0160). Den tager makroen ikke højde for. Hvis den også findes i det rigtige dataudtræk, så skal den fjernes med søg/erstat)


Sub Make_Pivot()

    Dim stPivotTableName As String
    Dim pv              As PivotTable
    Dim rngData          As Range
    Dim rngOut          As Range
    Dim wb              As Workbook

    stPivotTableName = "MyPivot"

    Set wb = ActiveWorkbook
    If wb.PivotCaches.Count > 0 Then Exit Sub
   
    Set rngData = Application.InputBox("Marker en celle i dine data", Type:=8)
    If Not rngData Is Nothing Then Set rngData = rngData.CurrentRegion Else Exit Sub
   
    Set rngOut = Application.InputBox("Marker første celle til pivottabel", Type:=8)
    If rngOut Is Nothing Then Exit Sub
   
    Application.ScreenUpdating = False

    Set pv = wb.PivotCaches.Create(SourceType:=xlDatabase, _
            SourceData:=rngData, Version:=xlPivotTableVersion12).CreatePivotTable(TableDestination:=rngOut, _
            TableName:=stNavn, DefaultVersion:=xlPivotTableVersion12)
   
    With pv
        With .PivotFields("Hist.status")
            .Orientation = xlColumnField
            .Position = 1
        End With

        pv.AddDataField pv.PivotFields("Hist.status tid"), "DatoTid", xlSum

        With .PivotFields("WONUM")
            .Orientation = xlRowField
            .Position = 1
        End With

        With .PivotFields("DatoTid")
            .Function = xlSum
            .NumberFormat = "yy-mm-dd hh:mm;;@"
        End With

        .ColumnGrand = False
        .RowGrand = False
        .DisplayErrorString = True

        With .PivotFields("Hist.status")
            .CalculatedItems.Add "TID", "= MAX('AVSLUTAD','KLAR')-'VGODK'", True
            .PivotItems("VGODK").Position = 1
            .PivotItems("TID").Position = 7
            .PivotItems("AVSLUTAD").Position = 6
            .PivotItems("KLAR").Position = 5
        End With

        .PivotSelect "TID", xlData, True
        Selection.NumberFormat = "[h]:mm;;"
    End With

End Sub
Avatar billede nehm Nybegynder
03. marts 2011 - 08:24 #5
Lukket
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
Vi har et stort udvalg af Excel kurser. Find lige det kursus der passer dig lige her.

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