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

Rijen verticaal verplaatsen op basis van duplicaten in eerste kolom

Status
Niet open voor verdere reacties.

Dreday

Gebruiker
Lid geworden
21 aug 2023
Berichten
12
Hallo allemaal,

Ik heb een Excel lijstje met fictieve bedrijfsnamen en contactgegevens. Er zijn 4 kolommen in mijn voorbeeld.
Kolom A: Bedrijfsnaam
Kolom B: Email
Kolom C: Naam
Kolom D: Link

Nu komt het voor dat sommige bedrijven meerdere keren voorkomen in mijn lijst (onder elkaar). Als een bedrijf meer dan 1 keer voorkomt in Kolom A, dan moet ik de 2e, 3e keer van de bedrijfsnaam-rijen zo verplaatsen dat ze achter de eerste rij komen waar dat bedrijfsnaam staat. Dus de 2e keer dat een eenzelfde bedrijfsnaam voorkomt, moet de 2e Bedrijfsnaam naar kolom E, 2e email naar kolom F, 2e Naam naar kolom G en 2e Link naar kolom H. Let wel op dat alleen de waardes in Kolom A dubbel kunnen zijn(bedrijfsnaam).

Hoe kan ik het beste de rijen met een dubbele waarde in de eerste kolom naar (eventueel lege) kolommen verplaatsten zonder handmatig te kopiëren en plakken of handmatig te transponeren?

Ik heb te weinig(geen) kennis van Power Query, Access of vba's en ben er met ChatGPT nog niet uitgekomen:(.

Super verwarrend om te lezen, sorry hiervoor! Ik heb een voorbeeld bestandje erbij gedaan, hoop dat het dan iets duidelijker wordt.

Het voorbeeld heeft twee bladen: "Beginpunt" en "Gewenst eindresultaat". Hoe zou je dit aanpakken en is hier een makkelijke manier voor wat ik zou kunnen toepassen op lijsten met honderden rijen?
Ik heb dit tot nu toe handmatig zitten knippen en plakken:o
 

Bijlagen

Is er een reden waarom je de bedrijfsnaam ook iedere keer meeneemt?
 
Laatst bewerkt:
Plak deze in de advanced editor van Power Query.

Code:
let
    Source = Excel.CurrentWorkbook(){[Name="Table1"]}[Content],
    grp = Table.Group(Source, {"Bedrijfsnaam"}, {{"Count", each Table.PromoteHeaders(Table.Transpose(Table.UnpivotOtherColumns(_, {}, "Attribute", "Value")))}}),
    out= Table.Combine(grp[Count])
in
    out
 

Bijlagen

Laatst bewerkt:
Hier anders ook nog een formule optie voor in mijn bestand

Code:
=LET(tbl;Table1;x;INDEX(tbl;;1);u;UNIQUE(x);IFERROR(DROP(REDUCE("";u;LAMBDA(a;b;VSTACK(a;TOROW(FILTER(tbl;x=b)))));1);""))
 
Laatst bewerkt:
Plak deze in de advanced editor van Power Query.

Code:
let
    Source = Excel.CurrentWorkbook(){[Name="Table1"]}[Content],
    grp = Table.Group(Source, {"Bedrijfsnaam"}, {{"Count", each Table.PromoteHeaders(Table.Transpose(Table.UnpivotOtherColumns(_, {}, "Attribute", "Value")))}}),
    out= Table.Combine(grp[Count])
in
    out
Bedankt voor je reactie! Ik ga het vandaag uitproberen en laat dan gelijk weten of het lukt.
 
Hier anders ook nog een formule optie voor in mijn bestand

Code:
=LET(tbl;Table1;x;INDEX(tbl;;1);u;UNIQUE(x);IFERROR(DROP(REDUCE("";u;LAMBDA(a;b;VSTACK(a;TOROW(FILTER(tbl;x=b)))));1);""))
Thank you, ik ga ermee aan de slag vanmiddag!
 
In beide oplossingen komt het bedrijf steeds terug
 
Code:
=ALS.FOUT(LET(x;UNIEK(Tabel2[Bedrijfsnaam]);HOR.STAPELEN(x;WEGLATEN(REDUCE("";x;LAMBDA(y;z;VERT.STAPELEN(y;NAAR.RIJ(FILTER(Tabel2[[email]:[Link]];z=Tabel2[Bedrijfsnaam])))));1)));"")
 

Bijlagen

Code:
=ALS.FOUT(LET(x;UNIEK(Tabel2[Bedrijfsnaam]);HOR.STAPELEN(x;WEGLATEN(REDUCE("";x;LAMBDA(y;z;VERT.STAPELEN(y;NAAR.RIJ(FILTER(Tabel2[[email]:[Link]];z=Tabel2[Bedrijfsnaam])))));1)));"")
Bedankt voor je hulp, deze code ga ik ook nog eens uittesten!
 
Raadzaam is om eerst te testen i.p.v. reageren.
 
Status
Niet open voor verdere reacties.

Nieuwste berichten

Terug
Bovenaan Onderaan