• Privacywetgeving
    Het is bij Helpmij.nl niet toegestaan om persoonsgegevens in een voorbeeld te plaatsen. Alle voorbeelden die persoonsgegevens bevatten zullen zonder opgaaf van reden verwijderd worden. In de vraag zal specifiek vermeld moeten worden dat het om fictieve namen gaat.

Deel dataset transponeren van kolommen naar rijen

Status
Niet open voor verdere reacties.

Garreld

Nieuwe gebruiker
Lid geworden
21 dec 2017
Berichten
4
Goedemiddag,

Ik heb een vraag m.b.t. het transponeren van een deel van een dataset waarbij data van kolommen naar rijen moet worden overgezet. Het is erg lastig om het in woorden uit te leggen dus in de bijlage heb ik een voorbeeld toegevoegd waarbij ik de basis situatie heb afgezet tegen de gewenste situatie. Om het toch ook even in woorden te proberen:

- een dataset bevat op rij 2 een productnummer en een klantnummer.
- op dezelfde rij bevindt zich informatie over het land van afzet en de prijs in dat betreffende land.
- er zijn meerdere landen en prijzen waardoor er meerdere kolommen zijn met land en prijs informatie.

Nu wil ik de dataset zo krijgen dat alle prijs informatie in 1 kolom staat en alle land informatie in 1 kolom. Ik wil dus een kolom 'prijs' en een kolom 'land'.
Ik zou verwachten dat de land- en prijsinformatie getransponeerd moeten worden en tegelijkertijd dienen de kolommen product en klant gekopieerd te worden naar beneden.

Omdat ik deze exercitie periodiek moet uitvoeren op grote datasets, ben ik op zoek naar een slimme oplossing (macro?).

Ik hoop dat bovenstaande i.c.m. de bijlage duidelijk genoeg is.

Alvast bedankt voor jullie reacties!

Groet,
Garreld.
 

Bijlagen

Altijd slechts 2 landen (NL/BE) of varieert dit?
 
Nee, dit varieert inderdaad. In de praktijk zal het gaan om 1 - 6 landen..
 
Dit is toch wel essentiële informatie. Aanvullende vraag: kan een product aan meerdere klantnummers gelinkt worden? (lijkt me wel, maar vraag het toch maar even)

Ik heb je voorbeeld uitgebreid. Is dit nog steeds representatief voor je probleem?

Tip: voortaan zelf representatief voorbeeld maken...
 

Bijlagen

Laatst bewerkt:
Ja, een product kan aan meerdere klanten zijn gekoppeld. Het uitgebreide voorbeeld is overigens precies zoals het moet zijn!
Thanks voor de tips! Ik zal ze ter harte nemen.

Benieuwd of jij een oplossing ziet voor het vraagstuk.

Groet
Garreld
 
Ik denk dat VBA het beste is hier. Formules worden erg complex, en gezien je opmerking dat je met grote datasets werkt, lijkt me dit niet een geschikte oplossing.

Even wachten waar de VBA experts mee komen.
 
Bv.
Code:
Option Explicit
Option Base 1
Sub hsv()
Dim sv, i As Long, j As Long, n As Long
sv = Cells(6, 3).CurrentRegion.Resize(, 15)
ReDim arr(UBound(sv) * UBound(sv, 2), 5)
   n = 1
     arr(n, 1) = sv(1, 1)
     arr(n, 2) = sv(1, 2)
     arr(n, 3) = sv(1, 3)
     arr(n, 4) = "Land"
     arr(n, 5) = "Prijs"
 For i = 2 To UBound(sv)
  For j = 4 To 9
   If sv(i, j) <> "" Then
             n = n + 1
     arr(n, 1) = sv(i, 1)
     arr(n, 2) = sv(i, 2)
     arr(n, 3) = sv(i, 3)
     arr(n, 4) = sv(i, j)
     arr(n, 5) = Format(sv(i, j + 6), "0.00")
   End If
  Next j
 Next i
 Cells(34, 3).Resize(n, 5) = arr
End Sub
 
Paar weken weg geweest met vakantie en vandaag de code pas geprobeerd. Precies wat ik zocht! Dank!!
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan