다음과 같은 문자열이 포함된 셀이 여러 개 있습니다.
"존, 칼라, 피터, 존, 밥, 크리스, 칼라, 안드레아"
나는 얼마나 많은 사람의 이름이 지정되었는지(즉, 고유한 값이 몇 개인지) 세고 싶습니다. 위 문자열의 개수는 6입니다. 문자열에 있는 이름의 총 개수는 많이 다를 수 있습니다. 일부는 이름이 하나만 있고 가장 큰 이름은 14개입니다(일부는 중복될 수 있음). 일부 이름에는 공백이 있지만(예: "Peter Smith,Andrea,Carla Moore") 쉼표를 사용하여 구분할 수 있습니다.
해결책은 문자열을 배열로 변환한 다음 온라인에서 찾은 SUM, IF 및 FREQUENCY 수식의 조합을 사용하는 것입니다.여기, 해당 배열에 적용됩니다.
그러나 문자열을 배열로 변환하는 방법을 모르겠습니다(그렇게 하는 방법이라면).
답변1
다음과 같은 작은 사용자 정의 함수를 사용해 보세요.
Public Function PeopleKounter(s As String) As Long
Dim DQ As String, c As Collection
Set c = New Collection
DQ = Chr(34)
ary = Split(Replace(s, DQ, ""), ",")
On Error Resume Next
For Each a In ary
c.Add a, CStr(a)
Next a
On Error GoTo 0
PeopleKounter = c.Count
End Function
답변2
답변3
=COUNTA(UNIQUE(TEXTSPLIT(A1,","),TRUE))