TRIM으로 안 지워지는 엑셀 공백, SUBSTITUTE로 특수 공백까지 제거하는 방법

2026-11-14 · 테크 · 읽는데 6분

TRIM으로 안 지워지는 엑셀 공백, SUBSTITUTE로 특수 공백까지 제거하는 방법

TRIM 하나로 끝나지 않는 이유

엑셀에서 앞뒤 공백을 지울 때 가장 먼저 떠올리는 것이 TRIM 함수입니다. TRIM은 문두·문미 공백과 단어 사이의 중복 공백을 정리해 주지만, 일반 공백(U+0020)만 대상으로 합니다. 웹페이지나 PDF, 다른 시스템에서 복사해 온 데이터에는 전각 공백이나 줄바꿈을 막는 공백처럼 눈에 보이지 않는 문자가 섞여 있는 경우가 많고, 이런 문자는 TRIM으로 지워지지 않습니다. 그래서 공백을 지웠는데도 값 비교나 검색이 계속 어긋나는 상황이 생깁니다. 아래에서는 일반 공백과 특수 공백을 구분해 처리하는 방법을 정리합니다.

  • TRIM 함수는 일반 공백만 제거하며, 전각 공백과 특수 공백은 남습니다.
  • 특수 공백은 SUBSTITUTE 함수로 문자 코드를 지정해 지워야 합니다.
  • 여러 행·열을 한 번에 정리할 때는 수식 복사나 외부 도구가 효율적입니다.
  • 원본 데이터를 수정하는 방식은 되돌리기(Undo)가 안 될 수 있으므로 사본을 먼저 저장합니다.

TRIM만으로 부족할 때 나타나는 증상

TRIM을 적용했는데도 셀 값이 깔끔해지지 않는다면 일반 공백이 아닌 문자가 섞여 있다는 신호입니다. 대표적으로 전각 공백(U+3000)과 줄바꿈을 막는 공백(U+00A0)이 있습니다. 둘 다 화면에서는 빈칸처럼 보이지만 컴퓨터는 다른 글자로 취급하기 때문에, 명단 대조나 중복 확인, 조건 검색에서 계속 어긋납니다.

특히 다른 시스템에서 내려받은 값이나 웹에서 복사한 텍스트에는 문장 끝에 공백이 하나 붙어 있는 경우가 흔합니다. 눈으로는 구분이 안 되니 원인을 찾기 어렵고, 데이터를 아무리 정리해도 같은 문제가 반복됩니다.

일반 공백과 특수 공백을 구분하는 기준

어떤 함수를 써야 할지는 셀에 들어 있는 공백의 종류에 따라 달라집니다. 아래 표는 참고 자료에서 확인된 문자 유형과 처리 방법을 정리한 것입니다.

일반 공백과 특수 공백을 구분하는 기준
일반 공백과 특수 공백을 구분하는 기준
공백 유형 처리 방법
일반 공백(U+0020) TRIM 함수
전각 공백(U+3000) SUBSTITUTE 또는 도구
줄바꿈 방지 공백(U+00A0) SUBSTITUTE 또는 도구
폭 없는 공백(U+200B) 공백 제거 도구

일반 공백만 있다면 TRIM 한 번으로 정리되지만, 위 표의 아래쪽 문자들이 섞여 있으면 함수를 조합해야 합니다. 참고 자료에서는 TRIM과 SUBSTITUTE를 함께 쓰는 수식으로 전각 공백과 줄바꿈 방지 공백을 처리하는 방법을 제시합니다.

=TRIM(SUBSTITUTE(SUBSTITUTE(A1, CHAR(12288), ""), CHAR(160), ""))

CHAR(12288)은 전각 공백, CHAR(160)은 줄바꿈 방지 공백을 가리킵니다. 이 수식을 정리용 새 열에 넣고 아래로 채우면 원본은 그대로 둔 채 정리된 값만 따로 얻을 수 있습니다.

상황별로 고르는 정리 방법

작업 범위와 데이터 양에 따라 적합한 방법이 다릅니다. 한 행이나 한 열 안에서 연속된 셀만 정리할 때는 수식이 간편하지만, 여러 행과 열로 구성된 범위를 한꺼번에 처리해야 한다면 다른 방법이 낫습니다.

수식으로 새 열에 정리하기

원본을 보존하면서 결과를 확인하고 싶을 때 적합합니다. 빈 열에 TRIM 수식을 넣고 자동 채우기 핸들을 드래그해 범위에 적용한 뒤, 결과를 값으로 복사해 붙여넣으면 수식이 아닌 텍스트로 남습니다.

찾기 및 바꾸기로 일괄 처리하기

특정 문자를 한 번에 없앨 때 씁니다. 범위를 선택한 뒤 찾기 및 바꾸기에서 바꿀 문자를 지정하고 모두 바꾸기를 실행하는 방식입니다. 다만 어떤 문자가 섞여 있는지 모르는 상태에서는 먼저 의심되는 셀의 텍스트를 복사해 외부 공백 제거 도구에 붙여넣어 확인하는 편이 빠릅니다.

외부 도구로 한 번에 정리하기

여러 종류의 공백이 뒤섞여 있을 때 유용합니다. 참고 자료에 소개된 공백 제거 도구는 연속 공백 제거와 모든 공백 제거 두 가지 모드를 제공합니다. 연속 공백 제거는 여러 칸으로 벌어진 공백과 탭을 한 칸으로 합치고 줄 앞뒤 여백을 잘라내며, 모든 공백 제거는 일반 스페이스와 탭은 물론 전각 공백(U+3000)과 줄바꿈을 막는 공백(U+00A0), 폭 없는 공백(U+200B)까지 걷어냅니다. 이때 줄바꿈은 기본적으로 유지되므로 여러 줄을 넣어도 값별로 확인할 수 있습니다.

연속 공백 제거와 모든 공백 제거의 차이

두 모드는 이름이 비슷하지만 결과가 크게 다릅니다. 목적에 따라 선택이 갈립니다.

연속 공백 제거와 모든 공백 제거의 차이
연속 공백 제거와 모든 공백 제거의 차이
구분 연속 공백 제거 모든 공백 제거
여러 칸 공백 한 칸으로 합침 전부 삭제
단어 사이 띄어쓰기 유지 삭제
줄바꿈 유지 옵션 켜야 삭제
전각·특수 공백 미확인 삭제

문장을 읽을 수 있는 형태로 다듬고 싶다면 연속 공백 제거가 맞습니다. 반대로 코드 값이나 식별자처럼 공백 자체가 없어야 하는 데이터라면 모든 공백 제거를 선택합니다. 모든 공백 제거 모드에서 줄바꿈까지 지우려면 줄바꿈(엔터) 포함 옵션을 켜야 한다는 점도 기억해 둘 만합니다.

작업 전에 확인할 것과 주의사항

원본 데이터를 직접 수정하는 방식은 실행 취소가 지원되지 않는 경우가 있습니다. 참고 자료에서는 VBA 코드로 앞 공백을 제거하는 방법을 소개하면서, 원본 데이터를 변경하고 실행 취소를 지원하지 않으므로 적용 전 반드시 데이터 사본을 저장하라고 안내합니다. 수식으로 새 열에 결과를 만드는 방식이라면 이 위험에서 자유롭습니다.

또한 공백 제거 도구를 쓸 때는 정리된 결과를 다시 엑셀에 붙여넣는 순서를 지켜야 합니다. 셀 복사, 도구에 붙여넣기, 결과 복사, 엑셀에 다시 붙여넣기 순으로 진행하면 여러 종류의 공백을 한 번에 처리할 수 있습니다.

Q. TRIM을 썼는데 공백이 그대로 남아 있습니다.

일반 공백이 아닌 특수 공백일 가능성이 큽니다. SUBSTITUTE 함수로 해당 문자 코드를 지정해 제거하거나, 공백 제거 도구에 붙여넣어 정리한 뒤 다시 가져오면 대부분 해결됩니다.

Q. 앞 공백만 지우고 뒤 공백은 남기고 싶습니다.

TRIM은 앞뒤 공백을 모두 제거하므로 용도가 다릅니다. 참고 자료에서는 LEFT와 LEN, TRIM을 조합하는 수식을 제시하지만, 대부분의 경우 TRIM으로 앞뒤를 함께 정리하는 편이 간단합니다.

Q. 여러 행과 열에 걸친 범위도 한 번에 정리할 수 있나요.

수식은 셀 단위로 적용되므로 범위가 넓으면 여러 번 채워야 합니다. 외부 도구는 붙여넣기 분량 제한이 없어 엑셀의 열 데이터를 통째로 넣어도 한 번에 정리됩니다. 다만 아주 큰 글은 처리 중 화면이 잠깐 멈출 수 있습니다.