엑셀 공백 일괄 삽입/제거 완전 가이드: TRIM·SUBSTITUTE·CLEAN·TEXTSPLIT/TEXTJOIN·Power Query

엑셀 공백(스페이스) 일괄 삽입·제거: TRIM·SUBSTITUTE·CLEAN·Power Query로 끝내기

엑셀 공백 일괄 처리는 데이터 정리의 첫 단계입니다. 이 글에서는 TRIM/SUBSTITUTE/CLEAN 같은 기본 함수부터 TEXTSPLIT/TEXTJOIN, LET/SEQUENCE(365), 그리고 Power Query를 활용한 원본 일괄 변환까지 실무 패턴을 순서대로 제공합니다.

빠른 해결(Quick Fix)

① 공백 일괄 제거

  1. 선행·후행 + 중복 공백 1칸으로 축소:
    =TRIM(A2)
  2. 비분리공백(CHAR(160))까지 제거(웹 복사본에 흔함):
    =TRIM(SUBSTITUTE(A2,CHAR(160)," "))
  3. 탭/줄바꿈까지 함께 제거(광범위):
    =TRIM(CLEAN(SUBSTITUTE(A2,CHAR(160)," ")))
  4. 모든 공백 제거(단 한 칸도 남기지 않음):
    =SUBSTITUTE(SUBSTITUTE(A2,CHAR(160),"")," ","")

② 공백 일괄 삽입

  1. 구분자 뒤에 공백 하나 추가(예: 콤마 뒤):
    =SUBSTITUTE(A2,",",", ")
  2. N글자마다 공백 삽입(예: 3글자마다):
    =LET(s,A2,n,3,k,SEQUENCE(ROUNDUP(LEN(s)/n,0)),TEXTJOIN(" ",,MID(s,(k-1)*n+1,n)))
  3. 문자↔숫자 경계에 공백 삽입(365):
    =LET(s,A2, L,LEN(s), ch,MID(s,SEQUENCE(L),1), flags, (ch>="0")*(ch<="9"), prev, DROP(flags,-1), cur, DROP(flags,1), cut, VSTACK(FALSE, (prev=1)*(cur=0) + (prev=0)*(cur=1)), TEXTJOIN("",,IF(cut," "&ch, ch)))
    의미: 숫자⇄문자 전환 경계에만 한 칸 삽입. (예: AB12C → AB 12 C)

③ 수식 없이 “원본을 바로” 바꾸려면

  • 찾기/바꾸기(Ctrl+H) :
    • 모든 공백 제거 → 찾을 내용:   (스페이스 한 칸), 바꿀 내용: 빈칸. 여러 번 반복.
    • 구분자 뒤 한 칸 넣기 → 찾기: ,, 바꾸기: , (쉼표+스페이스).
  • Power Query (데이터 > 테이블/범위에서): 변환 > 형식 > 공백 제거(Trim), 정리(Clean)바꿔치기로 특정 문자 뒤에 공백 삽입 가능(고급: 사용자 지정 열).

왜 이런 문제가 생기나(개념·원리)

  • 공백의 종류: 일반 스페이스(32), 비분리공백(160), 탭(9), 줄바꿈(10/13). TRIM은 32만 다루므로 웹/ERP 복사본은 CHAR(160) 치환이 필요합니다.
  • 원본 보존 vs 직접 수정: 수식은 안전하고 되돌리기 쉽습니다. 원본을 직접 바꾸려면 Power Query찾기/바꾸기를 사용하세요.
  • 표(Structured Reference)로 바꾸면

실무 예제

샘플 데이터

원본(A)설명
Kim Seongjin 선행/후행+중복
010 1234 5678CHAR(160) 포함
AB12C문자/숫자 경계
2025-11-12,Seoul,Korea구분자 콤마
ABCDEFN글자마다 공백

1) 선행/후행/중복 공백 정리

B열: =TRIM(SUBSTITUTE(A2,CHAR(160)," ")) → 결과: Kim Seongjin

2) 숫자/문자만 남기기(선택)

  • 숫자만: =TEXTJOIN("",,IFERROR(MID(A2,SEQUENCE(LEN(A2)),1)*1,""))
  • 문자만: =TEXTJOIN("",,IF(ISTEXT(MID(A2,SEQUENCE(LEN(A2)),1)),MID(A2,SEQUENCE(LEN(A2)),1),""))

3) N글자마다 공백 삽입

=LET(s,A2,n,3,k,SEQUENCE(ROUNDUP(LEN(s)/n,0)),
TEXTJOIN(" ",,MID(s,(k-1)*n+1,n)))

예: ABCDEF → ABC DEF (n=3)

4) 구분자 뒤 공백 추가

=SUBSTITUTE(A2,",",", ")2025-11-12, Seoul, Korea

5) 문자↔숫자 경계 공백 삽입(365)

=LET(s,A2, L,LEN(s), ch,MID(s,SEQUENCE(L),1),
num,(ch>="0")*(ch<="9"),
br, VSTACK(FALSE, num<>DROP(num,1)),
TEXTJOIN("",,IF(br," "&ch,ch)))

AB12C → AB 12 C

6) 표(Structured Reference) 적용

범위를 표(Ctrl+T)로 만들고 이름을 tbl, 열 이름이 [Raw]라면:

=TRIM(SUBSTITUTE(tbl[Raw],CHAR(160)," "))

새 행이 추가되어도 자동 확장됩니다.

7) Power Query로 대량 클린업

  1. 데이터 → 테이블/범위에서 → Power Query 열기
  2. 변환 > 형식: 공백 제거(Trim), 정리(Clean) 적용
  3. 바꿔치기: ,, 로 치환하여 콤마 뒤에 공백 추가
  4. 닫기 & 로드로 시트에 반영(원본 연결 유지, 재새로고침 가능)

대체 방법/주의/체크리스트

  • 웹/ERP 복사는 비분리공백(160)이 섞입니다 → SUBSTITUTE(…,CHAR(160)," ") 후 TRIM.
  • 전화번호·우편번호 등은 모든 공백을 제거해 비교/조인 정확도를 높이세요.
  • 보고서 표시용은 구분자 뒤에 공백을 넣어 가독성을 확보하세요.
  • 배치 변경이 필요하면 Power Query를 권장(재사용/되돌리기 쉬움).
  • 수식 결과를 값으로 확정하려면 범위 복사 → 붙여넣기 값.

Troubleshooting

증상원인해결법
TRIM인데 공백이 안 줄어듦 CHAR(160) 비분리공백 TRIM(SUBSTITUTE(A2,CHAR(160)," "))
탭/줄바꿈이 섞임 웹/CSV에서 유입 TRIM(CLEAN(SUBSTITUTE(A2,CHAR(160)," ")))
쉼표 뒤 공백이 없어서 읽기 어려움 일괄 포맷 미적용 SUBSTITUTE(A2,",",", ")
원본을 직접 바꾸고 싶음 수식은 참조만 변경 Ctrl+H 또는 Power Query로 변환 후 로드
대용량에서 느림 복잡한 배열 수식 다량 Power Query/단계적 치환으로 분리 처리

마무리: 관련 글 추천

Leave a Reply

Your email address will not be published. Required fields are marked *