자세히보기

엑셀

엑셀 TRIM 함수 완벽 가이드 (공백 문제 한 번에 정리하기)

엑셀퀘스트 2025. 11. 20. 14:26
 
엑셀 TRIM 함수 가이드

엑셀에서 외부 데이터를 가져오다 보면 눈에 안 보이는 이상한 공백 때문에 막히는 경우가 자주 생기죠
정렬이 제대로 안 되고 브이룩업 같은 함수도 이유 없이 오류가 나고
필터를 걸었는데 같은 값이 여러 개로 나뉘어 보이기도 합니다

이럴 때 가장 먼저 떠올려야 하는 도구가 바로 TRIM 함수입니다

오늘은 TRIM 함수가 정확히 어떤 역할을 하는지
어떤 공백까지 정리해 주는지
실무에서 어떻게 써야 진짜 효과가 있는지
차근차근 길게 정리해 보겠습니다

 

 

핵심은 세 가지입니다

1. 앞쪽 공백 삭제

2. 뒤쪽 공백 삭제

3. 중간에 연속된 공백은 하나만 남기기


쉽게 말하면 이상하게 띄어쓰기 된 문장을

보기 좋은 한 칸 띄어쓰기 상태로 정리하고

앞뒤에 붙어 있는 쓸모없는 공백은 없애 주는 함수입니다

TRIM 함수 기본 문법

함수 형태는 단순합니다

=TRIM(텍스트)

예시

=TRIM(A2)

=TRIM(" ABC 123 ")

=TRIM(SUBSTITUTE(A2,"-"," "))

TRIM 함수가 실제로 어떻게 동작하는지

조금 더 구체적으로 보면 TRIM 함수는 다음 규칙을 따릅니다

1. 앞 공백을 모두 제거합니다

" 엑셀"

→ TRIM 적용 후

"엑셀"

2. 뒤 공백을 모두 제거합니다

"엑셀 "

→ TRIM 적용 후

"엑셀"

3. 중간에 공백이 여러 개 있으면 하나로 줄입니다

"엑셀 TRIM 함수"

→ TRIM 적용 후

"엑셀 TRIM 함수"

4. 완전히 공백만 있는 셀도 처리합니다

" "

→ TRIM 적용 후

"" (빈 문자열로 인식)

이 네 가지 패턴이 TRIM 함수 동작의 전부라고 봐도 됩니다


TRIM 함수가 꼭 필요한 상황

실무에서 TRIM이 가장 자주 쓰이는 상황을 몇 가지로 나눠 보겠습니다

1. 고객 이름에 앞뒤 공백이 섞여 있을 때

고객 이름 리스트가 있는데

어떤 셀은 앞뒤에 공백이 붙어 있습니다

" 홍길동"

"홍길동 "

" 홍 길동"

눈으로 보면 거의 티가 안 나는데

정렬하면 순서가 이상해지고

VLOOKUP이나 XLOOKUP을 써도

같은 이름인데 못 찾는 일이 많이 생깁니다

이때 보통 이렇게 처리합니다

B2셀에

=TRIM(A2)

라고 입력하고

아래로 자동 채우기 한 뒤 값을 복사해서 붙여넣기 값으로 덮어씌웁니다

2. 주소 데이터에 불규칙한 공백이 섞여 있을 때

외부 시스템에서 주소를 가져왔는데

"서울특별시 강남구 역삼동 123-45"

"서울특별시 강남구 역삼동 123-45"

이런 식으로 공백이 들쭉날쭉할 때가 많습니다

이럴 때도 TRIM을 먼저 사용해서

공백을 한 번 정리하고

그 다음에 LEFT, MID, RIGHT, TEXTSPLIT 같은 함수로 나누는 게 좋습니다

예를 들어

B2 셀에

=TRIM(A2)

로 주소를 정리한 뒤

B2를 기준으로 주소를 분해하는 식입니다

3. 코드·ID 값에 공백이 섞여 있을 때

상품 코드나 거래처 코드가

"ABC 001"

"ABC001 "

" ABC001"

이렇게 뒤나 앞에 공백이 섞여 있으면

코드는 같은데 다른 값으로 인식됩니다

이 경우

=TRIM(A2)

로 한 번 정리한 후

코드 기준으로 조회나 집계를 해야 오류가 줄어듭니다

4. 공백 때문에 숫자가 숫자로 인식되지 않을 때

" 1000"

"2000 "

이런 값들은 눈으로 보면 숫자 같지만

실제로는 텍스트인 경우가 많습니다

이럴 때는 두 단계로 처리합니다

먼저 TRIM으로 공백 제거

=TRIM(A2)

그 다음 VALUE 함수나 곱하기 1을 써서 숫자로 변환

=VALUE(TRIM(A2))

=TRIM(A2)*1

이렇게 하면 공백도 없어지고

데이터 형식도 숫자로 정리됩니다


TRIM 함수의 결정적 한계

실무에서 TRIM 함수만 쓰면 안 되는 경우도 많습니다

특히 다음 두 가지는 반드시 알고 있어야 합니다

1. TRIM은 ‘일반 공백’만 제거한다는 점

TRIM 함수가 제거하는 공백은

ASCII 코드 32번 일반 공백 한 종류 뿐입니다

그런데 웹이나 다른 시스템에서 데이터를 가져오면

일반 공백이 아니라

non-breaking space (줄바꿈 방지 공백, CHAR(160))

기타 특수 공백 문자

이렇게 다른 공백이 섞여 있는 경우가 많습니다

이런 값은 TRIM으로 지워지지 않습니다

예를 들어

셀 A2에 있는 값이

겉으로 보기에는 "서울시 강남구" 처럼 보이는데

사실은

"서울시[160]강남구"

같이 특수공백이 들어 있으면

TRIM을 해도 그대로 남습니다

이때는 먼저 SUBSTITUTE로 특수 공백을 일반 공백으로 바꿔야 합니다

예시

=TRIM(SUBSTITUTE(A2,CHAR(160)," "))

순서는 항상

SUBSTITUTE로 특수 공백 → 일반 공백 변환

그 다음 TRIM으로 정리

이렇게 가져가야 합니다

2. 전각 공백은 TRIM이 못 지운다는 점

한글 문서에서 복사한 텍스트나

특정 프로그램에서 가져온 문자열은

가끔 전각 공백이 들어 있습니다

전각 공백은 문자 코드가 다르기 때문에

TRIM으로는 정리가 되지 않습니다

이 경우에도 마찬가지로

SUBSTITUTE로 전각 공백을 일반 공백으로 바꾼 후

TRIM을 사용합니다

전각 공백이 직접 입력되지 않을 때는

복사해서 수식에 붙여 넣거나

CHAR 함수를 써서 처리하기도 합니다


실무에서 자주 쓰는 TRIM 조합 수식

1. TRIM + CLEAN 조합

텍스트 안에 줄바꿈 문자나 제어 문자가 많이 섞여 있을 때는

CLEAN 함수와 같이 쓰면 좋습니다

=TRIM(CLEAN(A2))

CLEAN 함수는 인쇄 불가 문자나 제어 문자를 제거하고

TRIM은 공백을 정리합니다

외부 시스템에서 그냥 복사해서 붙여넣은 텍스트가 지저분할 때

이 조합이 많이 쓰입니다

2. TRIM + SUBSTITUTE 조합

특수 공백이나 특정 기호를 먼저 치환한 다음

전체 공백을 정리하고 싶을 때 쓰는 패턴입니다

예시

특수 공백(CHAR(160)) 제거 후 정리

=TRIM(SUBSTITUTE(A2,CHAR(160)," "))

원치 않는 공백을 다른 문자로 바꿨다가

마지막에 정리하는 패턴도 있습니다

예를 들어

쉼표 앞뒤 공백을 정리하고 싶을 때

=SUBSTITUTE(TRIM(SUBSTITUTE(A2,","," , "))," ,",",")

이런 식으로 단계적으로 정리하기도 합니다

3. TRIM + VALUE 조합

숫자처럼 보이는 텍스트를

완전히 숫자로 변환할 때 자주 쓰입니다

예시

=VALUE(TRIM(A2))

또는

=TRIM(A2)*1

공백 때문에 TEXT 함수와 섞여 있는 값이 문제를 일으킬 때

이 패턴을 많이 사용합니다

4. TRIM + VLOOKUP, XLOOKUP 같이 쓰기

찾는 값 쪽에 불필요한 공백이 섞여 있을 것 같으면

검색값에도 TRIM

표 범위의 기준 열에도 TRIM

이렇게 두 군데 모두 적용하는 경우가 있습니다

예시

=VLOOKUP(TRIM(F2),범위,2,FALSE)

또는

보조열을 하나 만들어서

B2에

=TRIM(A2)

로 정리한 뒤

B열을 기준으로 조회하는 방식이 더 안정적입니다


TRIM 함수 실무 예제 모음

1. 고객명 리스트 깔끔하게 만드는 작업

A열에 고객명이 있다 가정합니다

A2:A1000 범위에 다음 네 가지 문제가 섞여 있습니다

앞 공백

뒤 공백

중간에 공백 여러 개

보이지 않는 특수 공백

이럴 때 B2에 다음 수식을 넣습니다

=TRIM(SUBSTITUTE(A2,CHAR(160)," "))

그 다음 아래로 자동 채우기

완료된 뒤 B열 전체를 복사해서

A열에 값 붙여넣기로 덮어씌웁니다

이 과정을 한 번 거치고 나면

정렬

중복 제거

피벗테이블 기준 필드 설정

이런 작업에서 공백 때문에 생기는 오류가 거의 사라집니다

2. 주소에서 시·군·구만 추출하기 전에 전처리

주소 데이터가 들쭉날쭉할 때

TRIM을 먼저 써 주면

그 다음 단계가 훨씬 쉬워집니다

예시

A2에 전체 주소가 있을 때

먼저 B2에

=TRIM(SUBSTITUTE(A2,CHAR(160)," "))

로 공백을 정리하고

그 다음

TEXTSPLIT, LEFT, MID, FIND

같은 함수로 각 부분을 나눕니다

공백이 정리되어 있지 않으면

어디까지가 시·군·구인지 찾기 어렵고

나중에 수식 유지 관리도 힘들어집니다

3. 텍스트 숫자를 공백 제거 후 숫자로 변환

거래 금액 데이터인데

실제로는 텍스트입니다

" 1,000"

"2,000 "

이 값을 숫자로 바꾸고 싶을 때 단순히 VALUE만 쓰면

공백 때문에 오류가 날 수 있습니다

이때는

=VALUE(SUBSTITUTE(TRIM(A2),",",""))

이렇게 조합합니다

TRIM으로 앞뒤 공백을 지우고

SUBSTITUTE로 쉼표를 제거한 뒤

VALUE로 숫자화합니다


TRIM 함수 사용할 때 자주 나오는 질문

1. 왜 TRIM을 했는데 눈으로 보기에는 똑같나요?

셀에 TRIM을 걸었는데

화면상 텍스트가 전과 똑같이 보일 수 있습니다

이 경우 두 가지 가능성이 있습니다

정말로 공백이 없었거나

non-breaking space 같은 특수 공백 또는 전각 공백이라서 TRIM이 인식하지 못한 경우입니다

이럴 때는

=LEN(A2)

=LEN(TRIM(A2))

두 값을 비교해 보면 됩니다

길이가 줄어들었다면 공백이 정리된 것이고

길이가 그대로면 TRIM이 처리하지 못한 특수 공백일 가능성이 큽니다

이 경우 SUBSTITUTE와 CHAR(160) 조합을 같이 써야 합니다

2. TRIM을 숫자 셀에 써도 되나요?

숫자 셀 자체에 TRIM을 써도

엑셀은 내부적으로 숫자를 텍스트로 바꿔서 처리합니다

그래서 TRIM 결과는 텍스트입니다

원래 숫자로 써야 할 값이면

TRIM 후 VALUE로 다시 숫자로 변환하거나

곱하기 1 같은 방식으로 숫자로 돌려 놓는 것이 좋습니다

예시

=VALUE(TRIM(A2))

=TRIM(A2)*1


실무에서 TRIM을 쓸 때는

특수 공백과 전각 공백은 SUBSTITUTE로 먼저 변환

숫자처럼 보이는 텍스트는 TRIM 후 숫자 변환

피벗이나 조회 전에 기준 필드에 TRIM을 미리 적용

이 세 줄만 습관처럼 체크해도

이상한 공백 때문에 생기는 오류를 많이 줄일 수 있습니다

엑셀에서 데이터 정리를 조금 더 안정적으로 하고 싶다면

어떤 작업이든 먼저 공백부터 의심 그 다음 TRIM으로 정리

이 순서를 기본 패턴으로 가져가는 것이 좋습니다