MS Excel - Ich möchte eindeutige Werte basierend auf einer übergeordneten Spalte zählen

MS Excel - Ich möchte eindeutige Werte basierend auf einer übergeordneten Spalte zählen

Ich bin ein Neuling in Excel. Ich brauche Hilfe beim Zählen eindeutiger Werte in jeder der drei Spalten (wobei ich sie jeweils nur einzeln berücksichtige) in Bezug auf eine übergeordnete Spalte (die erste (A) im Bild). Können Sie mir bitte weiterhelfen? Danke!

Bearbeiten: Wenn ich eine Pivot-Tabelle erstelle, wird mir nicht die Anzahl der einzelnen Spalten angezeigt, sondern die letzte Spalte.

Quelldaten:

Bildbeschreibung hier eingeben

Ergebnisdaten nach der Transformation:

Bildbeschreibung hier eingeben

Quelle

A   B   C   D
p   d   g   k
p   e   g   k
q   d   h   k
q   f   h   o
r   d   h   o
r   e   i   m
r   f   h   m
s   d   i   n
s   d   i   o
s   f   i   o

Ergebnis

A   B   C   D
p   2   1   1
q   2   1   2
r   3   2   2
s   2   1   2

Antwort1

Wir erstellen eine Liste der SpalteAuniques und füge es in die SpalteEund führen Sie dann eine Reihe von Schleifen aus, um die eindeutigen Werte in den anderen Spalten zu zählen:

Sub Macro1()
    Dim N As Long, i As Long
    Dim c As Collection, v As Variant
    Dim M As Long, j As Long, rc As Long
    Dim K As Long

    Columns("A:A").Copy Columns("E:E")
    Range("E:E").RemoveDuplicates Columns:=1, Header:=xlNo

    rc = Rows.Count
    M = Cells(rc, "A").End(xlUp).Row
    N = Cells(rc, "E").End(xlUp).Row

    For i = 1 To N
        v = Cells(i, "E").Text
            For K = 2 To 4
                Set c = Nothing
                Set c = New Collection
                For j = 1 To M
                    If v = Cells(j, "A").Text Then
                        On Error Resume Next
                            c.Add Cells(j, K).Text, CStr(Cells(j, K).Text)
                        On Error GoTo 0
                    End If
                Next j
                Cells(i, K + 4).Value = c.Count
            Next K
    Next i
End Sub

Bildbeschreibung hier eingeben

verwandte Informationen