세트에서 일치하는 고유한 셀 수 계산

세트에서 일치하는 고유한 셀 수 계산

Excel에 다음과 같이 코딩된 데이터의 단일 열이 있습니다.

a
b
ab
bc
ad
b
ac

나는 "a"를 포함하는 모든 셀의 인스턴스를 찾을 수 있다는 것을 알고 있습니다 =COUNTIF(A1:A7,"*a*"). 그러면 4가 됩니다. "b"를 셀 수도 있고 =COUNTIF(A1:A7,"*b*")그 결과는 4가 됩니다.

그러나 내가 필요한 것은 "a" 또는 "b"가 포함된 셀을 계산하는 것입니다.중복 계산되지 않습니다둘 다 포함하는 셀입니다. =COUNTIF(A1:A7,"*a*")+COUNTIF(A1:A7,"*b*")= 8이지만 "ab"를 두 번 계산하지 않고 7을 계산하는 OR 조건을 원합니다.

이것이 정규식이라면 다음과 같은 작업을 수행할 수 있지만 =COUNTIF(A1:A7,"[ab]")할 수는 없습니다...


업데이트: 언급된 바와 같이코멘트, 이는 단순화된 예입니다. 데이터세트에 AM이 있고 2개, 3개 또는 심지어 7개의 서로 다른 값의 조합을 계산해야 할 수도 있으므로 확장할 수 있는 솔루션이 필요합니다.

답변1

이 솔루션은 다른 문자열에 대해 쉽게 확장할 수 있는 확장 가능한 구현으로 작동해야 합니다.

=SUMPRODUCT(--(ISNUMBER(FIND("a",A1:A7))+ISNUMBER(FIND("b",A1:A7))>0))

다른 문자열을 추가하는 예:

=SUMPRODUCT(--(ISNUMBER(FIND("a",A1:A7))+ISNUMBER(FIND("b",A1:A7))+ISNUMBER(FIND("c",A1:A7))>0))

FIND이는 범위의 각 셀에 대해 함수를 실행하고 ISNUMBER일치 항목이 발견되었는지 확인하는 데 사용됩니다. 결과는 각 셀에 대해 합산되고 끝에는 s >0중 하나 이상과 일치하는 모든 셀이 FIND계산되어야 함을 지정합니다. SUMPRODUCT최종 답변을 생성하기 위해 모든 것을 추가합니다 .

대소문자를 구분하지 않는 일치의 경우 FIND함수를 로 바꿀 수 있습니다 SEARCH.

관련 정보