Excel/script nørder: hjælp!

#1| 0
Moderator

Sidder med en lille "nød" jeg ikke kan knække.


Jeg har et langt text dokument, der er bygget op således:


Kolonne 1 Tilfældig tekst
Kolonne 2 Tilfældig tekst
Kolonne 3 Tilfældig tekst
Kolonne 4 Tilfældig tekst
Kolonne 5 Tilfældig tekst



Kolonne 1 Tilfældig tekst
Kolonne 2 Tilfældig tekst
Kolonne 3 Tilfældig tekst
Kolonne 4 Tilfældig tekst
Kolonne 5 Tilfældig tekst



Kolonne 1 Tilfældig tekst
Kolonne 2 Tilfældig tekst
Kolonne 3 Tilfældig tekst
Kolonne 4 Tilfældig tekst
Kolonne 5 Tilfældig tekst



Kolonne 1 Tilfældig tekst
Kolonne 2 Tilfældig tekst
Kolonne 3 Tilfældig tekst
Kolonne 4 Tilfældig tekst
Kolonne 5 Tilfældig tekst


Det er naturligvis intet problem at smide det i Excel, så kolonne A bliver "Kolonne X" og B bliver "tilfældig tekst.


Jeg har brug for at få indholdet arrangeret, så duplicates i A bliver kolonnenavne, og B under disse:


Kolonne 1 Kolonne 2 Kolonne 3 Kolonne 4 Kolonne 6
Tilfældig tekst Tilfældig tekst Tilfældig tekst Tilfældig tekst Tilfældig tekst
Tilfældig tekst Tilfældig tekst Tilfældig tekst Tilfældig tekst Tilfældig tekst
Tilfældig tekst Tilfældig tekst Tilfældig tekst Tilfældig tekst Tilfældig tekst
Tilfældig tekst Tilfældig tekst Tilfældig tekst Tilfældig tekst Tilfældig tekst

Jeg har forsøgt mig i Excel, uden held. Måske kan i?


En anden mulighed er at lege med PowerShell's template funktion. Den kan jeg dog heller ikke helt få til at gøre hvad jeg vil.

29-08-2016 09:45 #3| 0

Pivot

29-08-2016 09:52 #4| 0
OP
Moderator

Farre, du har sikkert ret. :)


Men jeg er ikke mere end almindelige Excelbruger. Så jeg er helt blank ;)

29-08-2016 10:25 #5| 0

Funktionen hedder Transponer

29-08-2016 10:27 #6| 0
OP
Moderator
Satans Yngel skrev:

Funktionen hedder Transponer




Det har jeg Googlet mig frem til... Men jeg kan sgutte hitte ud af det. Så jeg skal guides step by step :)

29-08-2016 10:29 #8| 0
OP
Moderator

Jeg fandt en makro, der burde kunne gøre tricket. Men den døde på memory. Her skal det nævnes, at det er en 12MB .txt. Computeren har ingen issues processor og memorywise.

29-08-2016 10:39 #10| 0

Mani??


@OP

Pivot arbejder ikke så godt sammen med tekst, men nærmere med værdier. Prøver lige at kigge på det om lidt

29-08-2016 10:41 #11| 0
OP
Moderator

Tak, Duracell :)

Mani10 har et problem med min moderation af andre tråde. Den overlader jeg til andre. Blot ignorer ham :)

29-08-2016 11:07 #13| 0

marker det du gerne vil have vendt copy også brug paste special der kan du vælge transponer

29-08-2016 11:12 #14| 0
OP
Moderator

Merger den duplicates?

29-08-2016 11:19 #15| 0

Det virker ikke. Den vender det bare så der kommer 4 forskellige kolonner der hedder kolonne 1.

29-08-2016 11:21 #16| 0
OP
Moderator

Det kom jeg også frem til.


Jeg har på fornemmelsen vi skal ud i noget VB script. - Eller anden scripting, der kan lege med txt til csv convert feks...

29-08-2016 11:24 #17| 0

Har desværre ikke selv tid i dag til at kigge så meget på det. Men hvis du har mod på at rode med VBA, så er det samme problematik som løses her: http://www.computerworld.dk/eksperten/spm/984882

29-08-2016 11:27 #18| 0
OP
Moderator

Sidder og leger med Powershell... jeg tror det kan løses med templates. Det driller bare.


Lige nu, ser det ud til at der er problemer, når values i kolonne 2 er tomme (som de ofte er). Selv om jeg definerer $Null værdier som " ", fejler det.

29-08-2016 11:44 #19| 0

Altså hvis du bare vil have transposed de samme rækker over i kolonner x antal gange så kan det let løses med en macro / sub. F.eks. sådan her:


Sub transpose()

For i = 0 To 1000
DataRange = ActiveSheet.Range("C3:C7").Offset(6 * i, 0)
ActiveSheet.Range("H3:L3").Offset(i, 0) = WorksheetFunction.transpose(DataRange)
Next i

End Sub


Ændrer de 2 ranges så det passer med der hvor din data starter og der hvor du vil have dem til at stå efter de er transposed. Der hvor der står offset skal du sætte antallet af rækker der er mellem dine data. Loopet kører 1000 gange nu og det kan du bare ændrer så det passer.

29-08-2016 18:45 #20| 0

har nok ikke helt forstået opgaven, håber du har fået det løst.


Normalt tror jeg det er letter at lave tekst strengt manipulation i f.eks Word så de bare kan importeres.


Men som sagt det er bedst hvis man kan se opgaven, og forstår nøjagtig hvordan den originale streng ser ud og hvordan tekst mønster, duplicates samt separatorene ligger I feederen.

29-08-2016 18:45 #21| 0
OP
Moderator

Jeg klarede det med lidt simpel Powershell. Løb filen igennem linje for linje og byggede et nyt objekt ud fra indhold af første kolonne - og så ud i en CSV.

Men takker for firsøget :)

29-08-2016 18:57 #22| 0

super, dejligt, så kan vi spille vores kort roligt i aften, og ikke kigge på Excel ved siden af 😃😄

← Gå til forumoversigtenGå til toppen ↑
Skriv et svar