Avatar billede tdh1309 Juniormester
25. maj 2007 - 09:39 Der er 6 kommentarer og
1 løsning

Sortering af data

Jeg har nogle data i en csv-fil, som jeg gerne vil have lavet sortering på. Det var min tanke at Excell er oplagt til dette, men jeg kan ikke selv finde ud af det, så er der en KLOK EXPERT?

Afhængigt af hvad der er nemmest kan data leveres i to formater.

Nedenfor vil jeg beskrive de to muligheder for input jeg har, samt det ønskede output format.

Inputformat 1 (foretrækkes)

TYPE, Værdi, Landekode
1    3      DK
1    9      SE
2    11    GB
2    10    DK
3    9      DK

Inputformat 2
Der findes en inputfil for hvert enkelt land:

input_dk
TYPE, Værdi, Landekode
1    3      DK
2    10    DK
3    9      DK

input_se
TYPE, Værdi, Landekode
1    9      SE

input_gb
TYPE, Værdi, Landekode
2    11    GB

Ønsked output:
Jeg vil gerne have oprettet en tabel som forsøgt illustreret nedenfor, hvor TYPE og Værdi er faste felter. Land1, Land2, Land..XX skal forstås således at de oprettes hvergang der forekommer en ny landekode!
TYPE, Værdi, Land1, Land2, Land..XX

Ud fra mine inputdata vil dette give:
Type, Værdi, DK, SE, GB
1    3          9
2    10            11
3    9


Hvis opgaven virker fulstændig vanvittig, skal I bare sige til - så må jeg udtænke en anden løsning!

Jeg ser frem til svar :-)
/Thomas
Avatar billede tdh1309 Juniormester
25. maj 2007 - 10:15 #1
UPS EN LILLE FEJL I ØNSKET OUTPUT - det skal være:
Type, DK, GB, SE
1    3  9
2    10      11
3    9
Avatar billede hco Nybegynder
25. maj 2007 - 13:40 #2
Det kan du ikke umiddebart klare uden at lave noget VBA, men hvis du kan det er det en ret enkel opgave, hvis du læser inputformat 1
/hco
Avatar billede kabbak Professor
25. maj 2007 - 15:22 #3
Prøv at køre denne makro, når du står på siden med dine data, som er i inputformat 1.

Ret R1000 til det antal rækker der er data i, f.eks. R5030
Gem så siden med pivot tabellen som csv fil.

Se om det er det du ønsker
Sub Makro1()

    Range("B3").Select
    ActiveWorkbook.PivotCaches.Add(SourceType:=xlDatabase, SourceData:= _
      ActiveSheet.Name & "!R1C1:R1000C3").CreatePivotTable TableDestination:="", TableName:= _
        "Pivottabel1", DefaultVersion:=xlPivotTableVersion10
    ActiveSheet.PivotTableWizard TableDestination:=ActiveSheet.Cells(3, 1)
    ActiveSheet.Cells(3, 1).Select
    With ActiveSheet.PivotTables("Pivottabel1").PivotFields("TYPE")
        .Orientation = xlRowField
        .Position = 1
    End With
    With ActiveSheet.PivotTables("Pivottabel1").PivotFields(" Landekode")
        .Orientation = xlColumnField
        .Position = 1
    End With
    ActiveSheet.PivotTables("Pivottabel1").AddDataField ActiveSheet.PivotTables( _
        "Pivottabel1").PivotFields(" Værdi"), "Sum af  Værdi", xlSum
End Sub
Avatar billede kabbak Professor
25. maj 2007 - 15:23 #4
du kan også gøre de selv via Data >pivotTabel, jeg optog bare koden da jeg gjorde det.
Avatar billede tdh1309 Juniormester
12. september 2008 - 21:22 #5
Til HCO og Kabbak kom med svar så i kan få point.
Undskyld svartiden, det er vist ikke optimalt
Avatar billede kabbak Professor
12. september 2008 - 22:49 #6
et svar ;-))
Avatar billede tdh1309 Juniormester
13. september 2008 - 00:34 #7
Super.
Tak for hjælpen, og endnu en undskyldning for svartiden!
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