У меня есть столбец в Excel, где есть несколько строк, разделенных запятыми. Например:

Сег, Тер, Ква, Сег

Qui, Sex

Саб, Саб

Seg

Дом, Сег

(Есть строки, которые могут быть нулевыми)

Я хочу посчитать количество различных строк в каждой строке, в приведенном выше примере я хотел бы, чтобы вывод был:

Seg: 2, Ter: 1, Qua: 1

Qui: 1, Пол: 1

Суббота: 2

Seg: 1

Дом: 1, Сег: 1

Есть ли способ сделать это в Excel?

1 ответ1

1

Попробуйте следующую пользовательскую функцию:

Public Function Components(sIN As String) As String
    Dim c As Collection, bry(), L As Long

    L = Len(sIN)
    Set c = New Collection
    ary = Split(sIN, ", ")
    On Error Resume Next
        For Each a In ary
            c.Add a, CStr(a)
        Next a
    On Error GoTo 0

    ReDim bry(1 To c.Count)
    For i = 1 To c.Count
        bry(i) = c.Item(i)
        Kount = (L - Len(Replace(sIN, bry(i), ""))) / Len(bry(i))
        Components = Components & bry(i) & ":" & Kount & ", "
    Next i

    Components = Left(Components, Len(Components) - 2)
End Function

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .