목차▾
엑셀 CLEAN 함수란?
엑셀 CLEAN 함수는 텍스트에서 인쇄할 수 없는 제어 문자(ASCII 코드 0~31)를 모두 제거하는 텍스트 정리 함수입니다. 외부 데이터를 복사·임포트했을 때 눈에 안 보이는 줄바꿈·탭·제어 문자가 섞여 VLOOKUP 매칭이 실패하거나 데이터가 깨지는 경우의 80%를 해결합니다.
구문은 =CLEAN(텍스트) 1인수로 단순. 단독으로 쓰는 경우는 드물고 보통 TRIM·SUBSTITUTE와 콤보로 사용합니다. 웹·CSV· 외부 API에서 가져온 데이터의 정합성 정리 표준이에요.
제거되는 문자 / 제거 안 되는 문자
CLEAN의 범위는 명확합니다. ASCII 0~31만 제거.
제거됨 (ASCII 0~31)
| 코드 | 문자 | 의미 |
|---|---|---|
| 9 | TAB | 탭 |
| 10 | LF | 줄바꿈 (Unix) |
| 13 | CR | 캐리지 리턴 (Windows 줄바꿈은 CR+LF) |
| 0 | NULL | 널 |
제거 안 됨 ⚠️
| 코드 | 문자 | 비고 |
|---|---|---|
| 32 | 일반 공백 | TRIM으로 제거 |
| 160 | 비분할 공백 ( ) | 웹 데이터에 자주, SUBSTITUTE로 제거 |
| 기타 Unicode | zero-width space 등 | 개별 SUBSTITUTE 필요 |
CLEAN + TRIM + SUBSTITUTE 표준 콤보
CLEAN 단독으로는 부족할 때가 많아 3종 콤보가 표준 데이터 정리 패턴입니다.
=TRIM(CLEAN(SUBSTITUTE(A1, CHAR(160), " ")))
처리 순서:
- 1. SUBSTITUTE: CHAR(160) 비분할 공백 → 일반 공백
- 2. CLEAN: 제어 문자 (ASCII 0~31) 제거
- 3. TRIM: 앞뒤 공백 + 중간 다중 공백 정리
웹에서 복사·CSV 임포트·외부 API 데이터 정리의 표준 콤보. 외부 데이터 정합성 99% 해결.
실전 사용 시나리오 8가지
- 줄바꿈 제거 —
=CLEAN(A1)— Alt+Enter 줄바꿈 일괄 - 표준 데이터 정리 —
=TRIM(CLEAN(A1)) - 비분할 공백까지 —
=TRIM(CLEAN(SUBSTITUTE(A1, CHAR(160), " "))) - VLOOKUP 매칭 실패 해결 —
=VLOOKUP(TRIM(CLEAN(A1)), 테이블, 2, FALSE) - CSV 임포트 후 일괄 정리 —
=ARRAYFORMULA(CLEAN(A1:A1000)) - 전체 시트 적용 — 보조 열에 CLEAN → 결과 복사 → "값만 붙여넣기" → 보조 열 삭제
- CODE로 비인쇄 문자 탐지 —
=CODE(MID(A1, N, 1))— N번째 문자 ASCII - LEN 차이로 비인쇄 문자 카운트 —
=LEN(A1)-LEN(CLEAN(A1))
CLEAN vs TRIM vs SUBSTITUTE
| 함수 | 제거 대상 |
|---|---|
| CLEAN | ASCII 0~31 비인쇄 문자 (줄바꿈·탭 등) |
| TRIM | 앞뒤 공백 + 중간 다중 공백 (한 칸으로) |
| SUBSTITUTE | 지정한 특정 문자/문자열 |
| CLEAN + TRIM | 비인쇄 + 공백 모두 |
| + SUBSTITUTE(CHAR(160)) | 위 + 비분할 공백 — 최강 콤보 |
자주 발생하는 오류·함정 6가지
- CHAR(160) 비분할 공백 — 웹·HTML 복사 데이터에 흔함. CLEAN이 못 잡음. 해결: SUBSTITUTE 먼저
- Unicode 비인쇄 문자 — CHAR(8203) zero-width space, CHAR(65279) BOM 등. 개별 SUBSTITUTE
- CLEAN 결과가 동일해 보임 — 시각적으로 같지만
=LEN(A1)=LEN(CLEAN(A1))이 FALSE면 있음 - 탭이 사라져 데이터 깨짐 — 탭 구분 데이터에 CLEAN 적용 시 모두 붙음. 사전에 SUBSTITUTE로 탭 → 다른 구분자
- TRIM과 순서 —
TRIM(CLEAN(A1))관행 - CLEAN은 Unicode 일부만 — Excel 2010+ Unicode 비인쇄 일부 제거, 모든 Unicode 아님
자주 묻는 질문
Q. CLEAN 함수 사용법은?
=CLEAN(텍스트 또는 셀) 형식입니다. 예: =CLEAN(A1). ASCII 코드 0~31 비인쇄 문자(줄바꿈, 탭, 제어 문자 등)를 모두 제거합니다. 보이지 않는 문자로 인한 매칭 실패·데이터 정합성 문제 해결에 표준.
Q. CLEAN과 TRIM의 차이는?
CLEAN은 비인쇄 문자(줄바꿈·탭 등 ASCII 0~31), TRIM은 공백(앞뒤 + 중간 다중 공백). 둘 다 필요할 때가 많아 =TRIM(CLEAN(A1)) 콤보가 표준 데이터 정리 패턴입니다.
Q. CHAR(160) 비분할 공백은 어떻게 제거하나요?
CLEAN은 ASCII 32 미만만 제거하므로 CHAR(160) 비분할 공백은 못 잡습니다. =TRIM(CLEAN(SUBSTITUTE(A1, CHAR(160), " "))) 콤보로 일반 공백으로 먼저 바꾼 뒤 정리하세요. 웹·HTML 복사 데이터에 흔합니다.
Q. VLOOKUP 매칭이 자꾸 실패해요.
보이지 않는 공백·줄바꿈·비인쇄 문자가 원인일 확률이 80%. =VLOOKUP(TRIM(CLEAN(A1)), 테이블, 2, FALSE)로 검색값을 정리해서 다시 시도하세요. 테이블 쪽 데이터에도 같은 정리가 필요할 수 있습니다.
Q. 셀에 비인쇄 문자가 있는지 확인하려면?
=LEN(A1)=LEN(CLEAN(A1)) 결과가 FALSE면 비인쇄 문자 있음. 몇 개인지는 =LEN(A1)-LEN(CLEAN(A1)). 어느 위치에 어떤 문자인지는 =CODE(MID(A1, N, 1)) (N번째 문자 ASCII 코드).
Q. CSV 임포트 후 데이터 정리 표준 패턴은?
=TRIM(CLEAN(SUBSTITUTE(A1, CHAR(160), " "))) 콤보를 보조 열에 적용 → 결과 복사 → 원본에 "값만 붙여넣기" → 보조 열 삭제. 외부 데이터 정합성 99% 해결.
Q. CLEAN 적용 후에도 결과가 똑같아 보이는데요?
비인쇄 문자가 없거나, Unicode 비인쇄 문자(CHAR(8203) zero-width space 등)라서 CLEAN이 못 잡은 경우. 확인은 LEN 비교, 해결은 해당 Unicode 문자를 SUBSTITUTE로 명시 제거.
Q. 구글 스프레드시트에서도 동일하게 작동하나요?
네. CLEAN은 표준 텍스트 함수로 Google Sheets, LibreOffice Calc, Apple Numbers, 한컴 한셀, WPS에서 동일하게 작동합니다. ARRAYFORMULA(CLEAN(A1:A1000)) 같은 배열 적용도 가능.
본 페이지는 Microsoft Support 공식 CLEAN·TRIM·SUBSTITUTE 문서를 기준으로 작성되었습니다. 정확한 동작은 Excel 버전·환경에 따라 달라질 수 있으니 중요한 작업 전에는 실제 환경에서 확인하세요.