MS Excel - 我希望根據父列計算唯一值

MS Excel - 我希望根據父列計算唯一值

我對 Excel 很陌生。我需要一些幫助來計算三列中每一列中相對於父列(圖像中的第一個 (A))的唯一值(一次只考慮一個)。你能幫我一下嗎?謝謝!

編輯:如果我做一個資料透視表,它不會給我單獨列的計數,而是給我最後一列。

來源資料:

在此輸入影像描述

轉換後的結果數據:

在此輸入影像描述

來源

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

結果

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

答案1

我們建立一個列的列表Auniques 並將其放入列中然後執行一組迴圈來計算其他列中的唯一值:

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

在此輸入影像描述

相關內容