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

"gecomprimeerde" tabel maken van tabel met data

Status
Niet open voor verdere reacties.

daanblaauwgeers

Gebruiker
Lid geworden
2 okt 2009
Berichten
42
Ik heb als voorbeeld een kleine tabel gemaakt met dummy data. In de eerste tabel staat alle data en tabel 2 is hoe ik het graag zou zien.
Ik zou graag een soort van samenvatting willen, dus voor elke persoon 1 regel terug laten komen met alle voorkomende waarde in een bepaalde kolom bij elkaar gevoegd.
Is dit mogelijk met een bepaalde formule of andere functie binnen excel?

Alvast bedankt voor het meedenken!
 

Bijlagen

  • vraag excel.xlsx
    9,1 KB · Weergaven: 20
Laatst bewerkt:
Met 1 dynamische formule (office 365).

Er staat ook een Power Query oplossing in de bijlage.

Code:
=LET(z;B4:E19;r;A4:A19;c;B3:E3;u;UNIQUE(r);HSTACK(VSTACK("Naam/Merk";u);REDUCE(c;u;LAMBDA(a;b;VSTACK(a;BYCOL(FILTER(z;r=b;"");LAMBDA(x;TEXTJOIN(", ";;x))))))))
 

Bijlagen

  • vraag excel.xlsx
    19,3 KB · Weergaven: 16
Laatst bewerkt:
En ook nog een VBA oplossing

Code:
Sub jec()
 Dim ar, a, j As Long, jj As Long
 ar = Sheets(1).ListObjects(1).Range
 With CreateObject("scripting.dictionary")
   For j = 1 To UBound(ar, 2)
     For jj = 1 To UBound(ar)
       If Not .exists(ar(jj, 1)) Then
         .Item(ar(jj, 1)) = Array(ar(jj, 1), ar(jj, 2), ar(jj, 3), ar(jj, 4), ar(jj, 5))
       ElseIf jj > 1 And j < 5 Then
         a = .Item(ar(jj, 1))
         If ar(jj, j + 1) <> "" Then a(j) = a(j) & IIf(Len(a(j)), ", ", "") & ar(jj, j + 1)
        .Item(ar(jj, 1)) = a
       End If
    Next
  Next
  Range("A30").Resize(.Count, 5) = Application.Index(.items, 0, 0)
 End With
End Sub
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan