Jak policzyć, ile razy ciąg matematyczny pojawia się w komórce w programie Excel?

0

Mam kolumnę w programie Excel, w której niektóre ciągi znaków są oddzielone przecinkami. Na przykład:

Seg, Ter, Qua, Seg

Qui, Sex

Sab, Sab

Seg

Dom, Seg

(Istnieją wiersze, które mogą być puste)

Chcę policzyć liczbę różnych ciągów w każdym wierszu, w powyższym przykładzie chciałbym, aby wynik był:

Seg: 2, Ter: 1, Qua: 1

Qui: 1, płeć: 1

Sab: 2

Seg: 1

Dom: 1, Seg: 1

Czy mogę to zrobić w programie Excel?

Sara
źródło
Is there a way for me to do this in Excel- Tak, możesz użyć VBa
Dave
Aby rozwinąć komentarz @ Dave'a, musisz użyć funkcji SPLIT ( techonthenet.com/excel/formulas/split.php ), aby podzielić swoje wartości na tablicę podciągów, a następnie policzyć wystąpienia szukanej wartości w podciągach.
Joe

Odpowiedzi:

1

Wypróbuj następującą funkcję zdefiniowaną przez użytkownika :

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

wprowadź opis zdjęcia tutaj

Uczeń Gary'ego
źródło