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
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
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