=TRIM(A2)는 A2 텍스트의 앞뒤 공백을 모두 지우고 단어 사이에 연속된 공백을 하나로 줄입니다. " Ana Silva "는 Ana Silva가 됩니다.
| A | B | C | D | |
|---|---|---|---|---|
| 1 | Name | TRIM | Length before | Length after |
| 2 | Ana Silva | Ana Silva | 14 | 9 |
| 3 | Ben Okafor | Ben Okafor | 13 | 10 |
| 4 | Chen Wu | Chen Wu | 10 | 7 |
A열에서는 공백이 보이지 않기 때문에 길이 열이 있습니다. LEN이 공백을 셉니다. 남는 공백은 보통 가져오거나 붙여 넣은 데이터와 함께 들어오며, 눈에 띄는 표시 없이 조회와 비교를 망가뜨립니다.
남는 공백이 수식을 망가뜨리는 이유
엑셀에게 뒤에 공백이 붙은 Ana 와 Ana는 서로 다른 텍스트입니다. 비교는 FALSE를 반환하고, COUNTIF는 그 셀을 세지 않으며, 조회는 #N/A를 반환합니다:
| A | B | C | D | |
|---|---|---|---|---|
| 1 | Name | Score | Is it Ana? | Ana's score |
| 2 | Ana | 90 | FALSE | not found |
| 3 | Ben | 85 | TRUE | 90 |
| 4 | Chen | 78 |
A2에는 공백이 붙은 Ana 가 들어 있으므로 C2는 FALSE이고 D2는 아무것도 찾지 못합니다(네 번째 인수가 없으면 XLOOKUP은 #N/A를 표시합니다). D3은 수식 안에서 조회 열 전체를 TRIM으로 정리해 90을 찾습니다. Microsoft 365와 Excel 2021에서 동작하며, 이전 버전에서는 먼저 열을 정리하세요. 공백은 조회가 반환하는 #N/A의 가장 흔한 원인 중 하나입니다.
모든 공백 지우기
TRIM은 단어 사이에 항상 공백 하나를 남깁니다. 전화번호나 제품 코드처럼 공백을 모두 지우려면 공백을 빈 텍스트로 바꾸세요:
| A | B | C | |
|---|---|---|---|
| 1 | Code | TRIM | No spaces |
| 2 | AB 12 34 | AB 12 34 | AB1234 |
| 3 | 555 201 3344 | 555 201 3344 | 5552013344 |
| A | B | |
|---|---|---|
| 1 | Customer | Clean name |
| 2 | Eli Novak | |
| 3 | Fay Ruiz | |
| 4 | Gus Lee |
직접 해 보세요: A열의 이름에 남는 공백이 있습니다. B2에서 A2의 이름을 앞뒤 공백 없이, 단어 사이에는 공백 하나만 두고 반환하세요. 수식은 B4까지 아래로 채워집니다.
TRIM이 동작하지 않을 때: 줄 바꿈 없는 공백
웹 페이지나 PDF에서 복사한 텍스트에는 일반 공백(문자 32) 대신 줄 바꿈 없는 공백(문자 160)이 자주 들어 있습니다. 똑같아 보이지만 TRIM은 문자 32만 지우므로 엑셀에서는 아무것도 바뀌지 않습니다:
A2: Ana Silva (a non-breaking space between the names and one at the end)
=LEN(A2) 10
=LEN(TRIM(A2)) 10, TRIM removed nothing
해결 방법은 먼저 SUBSTITUTE로 문자 160을 모두 일반 공백으로 바꾸고 나머지는 TRIM에 맡기는 것입니다. 아래 A2의 텍스트는 CHAR(160)으로 만들었으므로 웹 페이지가 붙여 넣는 문자를 직접 볼 수 있습니다:
| A | B | C | D | E | |
|---|---|---|---|---|---|
| 1 | Pasted text | Length | Code of 4th character | Fixed | Fixed length |
| 2 | Ana Silva | 10 | 160 | Ana Silva | 9 |
C2는 이상한 문자를 알아내는 방법입니다. CODE(MID(A2,4,1))은 4번째 글자의 코드를 반환하며 여기서는 160입니다. D2는 9글자로, A2의 10글자에서 뒤의 공백을 뺀 것입니다.
CLEAN: 줄 바꿈과 다른 숨은 문자 지우기
CLEAN은 코드가 0에서 31인 인쇄되지 않는 문자를 지웁니다. 줄 바꿈(10), 캐리지 리턴(13), 탭(9)입니다. 공백은 건드리지 않으므로 보통 =TRIM(CLEAN(A2))처럼 함께 씁니다:
| A | B | C | |
|---|---|---|---|
| 1 | Imported | CLEAN | TRIM(CLEAN) |
| 2 | Ana Silva | AnaSilva | AnaSilva |
CLEAN은 줄 바꿈을 그냥 지우므로 두 이름이 AnaSilva 처럼 붙어 버립니다. 줄 바꿈이 단어를 나누고 있다면 대신 공백으로 바꾸세요: =TRIM(SUBSTITUTE(A2,CHAR(10)," ")). 그 경우는 줄 바꿈 페이지에서 보여 줍니다.
원래 열을 정리된 텍스트로 바꾸기
TRIM은 결과를 다른 셀에 씁니다. 데이터 자체를 고치려면:
- 데이터 옆의 빈 열에
=TRIM(A2)를 넣고 아래로 채웁니다. - 그 열을 복사합니다(Ctrl+C, Mac에서는 Cmd+C).
- 원래 열을 선택하고 홈 > 붙여넣기 > 값 붙여넣기를 해서 셀에 수식이 아닌 텍스트가 들어가게 합니다.
- 도우미 열을 지웁니다.
찾기 및 바꾸기로 수식 없이 공백을 지울 수도 있지만, 앞 공백과 단어 사이 공백을 구분하지 못합니다. 공백을 아무것도 없는 것으로 바꾸면 Ana Silva가 AnaSilva로 붙어 버립니다. 공백 두 개를 하나로 바꾸는 작업을 엑셀이 바꿀 것을 찾지 못할 때까지 반복하면 TRIM의 단어 사이 공백 규칙을 손으로 하는 셈입니다. 시작이나 끝의 공백 하나는 남습니다.
자주 묻는 질문
엑셀에서 공백을 지우려면 어떻게 하나요?
=TRIM(A2)는 앞뒤 공백을 지우고 단어 사이에 공백 하나를 남깁니다. 단어 사이를 포함해 모든 공백을 지우려면 =SUBSTITUTE(A2," ","")를 쓰세요.
TRIM이 공백을 지우지 못하는 이유는 무엇인가요?
그 공백은 아마 줄 바꿈 없는 공백(문자 160)일 것입니다. 웹 페이지에서 복사한 텍스트에 자주 들어 있습니다. TRIM은 일반 공백인 문자 32만 지웁니다. 먼저 변환하세요: =TRIM(SUBSTITUTE(A2,CHAR(160)," ")).
TRIM과 CLEAN의 차이는 무엇인가요?
TRIM은 남는 공백을 지웁니다. CLEAN은 줄 바꿈과 탭처럼 코드가 0에서 31인 인쇄되지 않는 문자를 지웁니다. =TRIM(CLEAN(A2))는 둘 다 합니다.
원래 열을 공백이 정리된 텍스트로 바꾸려면 어떻게 하나요?
빈 열에 =TRIM(A2)를 쓰고 아래로 채운 뒤, 그 열을 복사하고 원래 열을 선택해 홈 > 붙여넣기 > 값 붙여넣기를 하세요. 그다음 도우미 열을 지웁니다.