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
.