한줄요약:
=(LEN(셀)-LEN(SUBSTITUTE(셀,"찾는문자","")))/LEN("찾는문자")
COUNTIF()는 기본적으로 '셀의 개수'를 세는 함수이므로
한 셀 내에 반복되는 특정 문자열의 개수를 셀 수는 없다.
한 셀 내에서 특정 문자열의 개수를 세고 싶다면 의외로(?) SUBSTITUTE()함수를 사용해야한다.
다음과 같은 자료가 있다고 하자.
기본 전략은 간단하다.
2016/12/29 - [엑셀] - [엑셀] 오른쪽에서 특정 문자까지 추출하기와 마찬가지로
찾으려는 문자를 공백으로 바꾼 후 원래 문자의 길이와 차이를 보는 것이다.
예를 들어 위의 자료에서 "E"를 찾으려면
이와 같이 "E"를 공백으로 바꾼 후에
LEN() 함수를 이용하여 다음과 같이 길이를 구한다.
"E"가 하나씩 사라졌으므로, 저 문장 길이의 차이가 "E"의 개수라는 것을 알 수 있다.
여기까지를 수식으로 한 번에 쓰면 다음과 같다.
=LEN(A2)-LEN(SUBSTITUTE(A2,"E",""))
만일 찾아야 할 문자열이 2글자 이상이라면 하나 더 신경써 주어야 할 것이 있다.
예를 들어 다음과 같은 문장에서 "pe"를 제거하면 이렇게 되겠다.
(Substitute는 대소문자를 구별하는 것에 주의한다.)
여기서 첫 줄의 (처음 문장 길이) - (나중 문장 길이) 의 결과는 8인데,
이는 찾는 문자열이 8개 있다는 뜻이 아니라, 8칸이 줄어들었다는 의미이다.
즉 "pe"가 4번 등장해서 총 8칸이 줄어든 것일 테다.
그러므로 최종적으로는 (처음 문장 길이) - (나중 문장 길이) 의 결과를
찾는 문자열의 길이로 나누어 주어야 한다.
여기서는 "pe"이므로 2로 나누어 주면 되겠다.
하여 완성된 수식은 다음과 같다.
=(LEN(A2)-LEN(SUBSTITUTE(A2,"pe","")))/LEN("pe")
'엑셀' 카테고리의 다른 글
[구글시트] 다른 시트로부터 내용 가져오기 Importrange (6) | 2018.03.06 |
---|---|
[엑셀] Indirect 를 이용하여 한 행씩 번갈아 추출하기 (1) | 2018.03.02 |
[엑셀] 중복값의 위치 찾기 (0) | 2018.01.26 |
[엑셀] 표준편차 STDEV.P 와 STDEV.S 의 차이 (2) | 2018.01.17 |
[엑셀] 두 가지 이상의 다중조건으로 VLOOKUP 사용하기 (13) | 2017.08.24 |
[엑셀] 수식의 부분 결과 검증하기 F9 (0) | 2017.08.22 |
[엑셀] 엑셀 엔터(줄바꿈) 입력하는 방법 (1) | 2017.08.21 |
[엑셀] 수식 내용을 그대로 표시하는 세 가지 방법 (3) | 2017.08.10 |
[엑셀] 실무에서 많이 사용하는 엑셀 단축키 모음 (0) | 2017.08.09 |
[엑셀] 특정 문자열에 해당하는 값 참조하기 VLOOKUP, MATCH (0) | 2017.08.08 |
댓글