엑셀 단어 수 세기 5가지 완벽한 방법 – 함수와 VBA로 텍스트 분석하기

엑셀 단어 수 세기 5가지 완벽한 방법 - 함수와 VBA로 텍스트 분석하기
엑셀 단어 수 세기 5가지 완벽한 방법 – 함수와 VBA로 텍스트 분석하기

엑셀에서 텍스트 데이터를 다루다 보면 셀이나 범위에 포함된 단어의 개수를 세어야 하는 경우가 많습니다. 워드프로세서와 달리 엑셀은 기본적으로 단어 수 계산 기능을 제공하지 않지만, 다양한 함수와 기법을 조합하여 정확하고 효율적인 단어 계산을 수행할 수 있습니다. 이 가이드에서는 단일 셀부터 여러 셀 범위까지, 그리고 특정 단어 검색까지 모든 상황에 대응하는 실무적인 해결책을 제시합니다.

TRIM과 LEN 함수로 기본 단어 수 계산하기

엑셀에서 가장 기본적이면서도 효과적인 단어 수 계산 방법은 TRIM, LEN, SUBSTITUTE 함수를 조합하는 것입니다. 이 방법의 핵심 원리는 문자열에서 공백의 개수를 세어 단어 수를 유추하는 것입니다. 단일 셀의 단어 수를 계산하려면 다음 TRIM 함수를 포함한 수식을 사용합니다.

  • =IF(LEN(TRIM(A2))=0,0,LEN(TRIM(A2))-LEN(SUBSTITUTE(A2,” “,””))+1)
  • TRIM 함수는 텍스트 앞뒤의 불필요한 공백을 제거하여 정확한 계산을 보장합니다
  • LEN 함수는 문자열의 전체 길이를 반환하여 공백 포함 문자 수를 계산합니다
  • SUBSTITUTE 함수는 모든 공백을 제거한 후의 문자열 길이를 구하는 데 사용됩니다

여러 셀 범위의 단어 수 합계 구하기

여러 셀에 걸쳐 있는 텍스트의 총 단어 수를 계산해야 하는 경우, SUMPRODUCT 함수와 배열 수식을 활용할 수 있습니다. 이 방법은 각 셀의 단어 수를 개별적으로 계산한 후 모든 결과를 합산하여 전체 단어 수를 제공합니다.

수식 유형 적용 범위 수식 예제
단일 셀 계산 A2 셀 하나 =LEN(TRIM(A2))-LEN(SUBSTITUTE(A2,” “,””))+1
범위 계산 A2:A4 범위 =SUM(IF(LEN(TRIM(A2:A4))=0,0,LEN(TRIM(A2:A4))-LEN(SUBSTITUTE(A2:A4,” “,””))+1))
SUMPRODUCT 활용 여러 셀 범위 =SUMPRODUCT(LEN(TRIM(A2:A10))-LEN(SUBSTITUTE(A2:A10,” “,””))+1)
조건부 계산 빈 셀 제외 =SUMPRODUCT((A2:A10<>“”)*((LEN(TRIM(A2:A10))-LEN(SUBSTITUTE(A2:A10,” “,””))+1))

특정 단어 출현 횟수 계산하는 고급 기법

텍스트 분석에서 특정 단어나 구문이 몇 번 나타나는지 파악하는 것은 매우 중요한 작업입니다. 이를 위해서는 SUBSTITUTE 함수를 활용하여 대상 단어를 제거하기 전후의 문자열 길이 차이를 계산하는 방법을 사용합니다. 단일 셀에서 특정 단어의 출현 횟수를 세려면 다음과 같은 수식을 적용할 수 있습니다.

=(LEN(A2)-LEN(SUBSTITUTE(A2,”Excel”,””)))/LEN(“Excel”) 이 수식에서 “Excel”은 찾고자 하는 단어이며, 대소문자를 구분하여 정확히 일치하는 경우만 계산합니다. 만약 대소문자를 구분하지 않고 검색하려면 UPPER 함수를 추가로 활용하여 =(LEN(A2)-LEN(SUBSTITUTE(UPPER(A2),UPPER(“Excel”),””)))/LEN(“Excel”)와 같이 수정할 수 있습니다.

VBA 사용자 정의 함수로 효율성 극대화하기

자주 단어 수를 계산해야 하는 업무 환경에서는 VBA로 사용자 정의 함수를 만드는 것이 훨씬 효율적입니다. 다음 VBA 코드를 모듈에 입력하면 간단한 함수 호출만으로 단어 수를 계산할 수 있습니다. Function CountWords(rng As Range) As Integer와 같은 형태로 시작하는 이 VBA 함수는 복잡한 수식 없이도 정확한 결과를 제공합니다.

  • Alt + F11을 눌러 VBA 편집기를 열고 새 모듈을 삽입합니다
  • 사용자 정의 함수 코드를 입력하여 재사용 가능한 도구를 만듭니다
  • =CountWords(A2)와 같은 간단한 형태로 함수를 호출할 수 있습니다
  • 여러 셀 범위에도 동일하게 적용되어 =CountWords(A2:A10) 형태로 사용 가능합니다

TEXTSPLIT과 COUNTA로 최신 엑셀 활용하기

최신 버전의 엑셀에서는 TEXTSPLIT 함수와 COUNTA 함수를 조합하여 더욱 직관적이고 간단한 단어 수 계산이 가능합니다. 이 방법은 기존의 복잡한 SUBSTITUTE 기반 수식보다 훨씬 이해하기 쉽고 유지보수가 간편합니다. =COUNTA(TEXTSPLIT(TRIM(A2),” “))와 같은 수식을 사용하면 텍스트를 공백 기준으로 분할한 후 각 단어를 직접 계산할 수 있습니다.

TEXTSPLIT 함수는 지정된 구분자를 기준으로 텍스트를 배열로 분할하며, COUNTA 함수는 해당 배열의 비어있지 않은 요소 개수를 반환합니다. 이 조합은 Microsoft 365나 Excel 2021 이상의 버전에서 사용할 수 있으며, 특히 쉼표나 세미콜론 등 다양한 구분자로 분리된 텍스트를 처리할 때 매우 유용합니다. 구분자를 여러 개 지정하려면 =COUNTA(TEXTSPLIT(TRIM(A2),{” “,”,”,”-“},,,1))과 같이 배열 형태로 입력할 수 있습니다.

실무에서 활용하는 텍스트 분석 팁과 주의사항

엑셀에서 단어 수를 정확하게 계산하기 위해서는 몇 가지 중요한 사항을 고려해야 합니다. 첫째, 텍스트에 포함된 여러 연속 공백이나 탭 문자는 결과를 왜곡시킬 수 있으므로 반드시 TRIM 함수를 사용하여 정규화해야 합니다. 둘째, 구두점이나 특수 문자가 포함된 텍스트의 경우 단어 경계를 정확히 식별하기 위해 추가적인 전처리가 필요할 수 있습니다.

대용량 데이터를 처리할 때는 성능을 고려하여 적절한 방법을 선택해야 합니다. 단발성 작업이라면 기본 함수 조합을 사용하고, 반복적인 작업이라면 VBA 사용자 정의 함수나 파워 쿼리 기능을 활용하는 것이 효율적입니다. 또한 국제화된 환경에서는 다양한 언어의 단어 구분자 차이를 고려하여 유니코드 공백 문자까지 처리할 수 있는 고급 수식을 사용하는 것이 바람직합니다.

댓글 달기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다

위로 스크롤