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

Строим список столбцаАуникальные и поместите их в столбецЭа затем выполнить ряд циклов для подсчета уникальных значений в других столбцах:

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

введите описание изображения здесь

Связанный контент