본문 바로가기

업무 프로그램/MS 엑셀

엑셀에서 공백 또는 인쇄되지 않는 문자 제거하기

목차

    인터넷에서 찾은 자료를 엑셀에 복사해 넣다 보면 안 보이던 문자나 공백 등이 입력되어 있는 경우가 있습니다.

    이런 경우 Ctrl+H를 이용하여 찾기 및 바꾸기를 이용하여 공백을 제거하는 방법도 있지만 그렇게 하면 문장이나 단어 사이에 들어간 공백도 제거가 될 수 있으니 엑셀에서 제공하는 함수를 이용하여 공백을 제거해 보겠습니다.


    TRIM 함수를 이용한 공백제거

    TRIM(text)

    TRIM 함수는 아주 간단합니다.

    공백을 제거하기 원하는 문자열을 인수로 넘겨주면 양 옆의 공백이 제거된 문자열을 반환해 줍니다.

     

    엑셀 TRIM을 이용하여 공백 제거하기
    엑셀 TRIM을 이용하여 공백 제거하기

     

    1. 공백이 제거되어야 할 문자를 입력합니다.(예시에서는 I8)

    2. =trim(I8)을 입력합니다.

    3. 선택한 셀의 오른쪽 하단의 작은 정사각형(채우기 핸들)을 클릭하고 드래그합니다.

     

    엑셀 공백 제거된 모습
    엑셀 공백 제거된 모습

    2와 학년 사이의 공백은 유지되고 2 앞의 공백이 지워진 것을 확인할 수 있습니다.

    4학년의 경우 년 뒤에 두 개의 공백이 사라진 것을 확인할 수 있습니다.

    간단한 공백 제거는 여기까지지만 인터넷의 문서나 줄글을 복사 붙여 넣기 하면 특이한 문자가 있어 비교가 안되거나 TRIM으로 제거되지 않는 공백이 있습니다.

    그런 경우 해결 방안을 알아보겠습니다.

     

     

     

     


    TRIM으로 지워지지 않는 공백 제거하기

    공백을 제거할 때 완벽한 줄 알았던 TRIM도 제거하지 못하는 공백이 있습니다.

     

    엑셀 TRIM으로 지워지지 않는 공백
    엑셀 TRIM으로 지워지지 않는 공백

     

     

    위 그림에서 원문은 아까와 똑같아 보이는데 TRIM으로 삭제가 되지 않습니다.

    TRIM에서는 일반적으로 사용하는 공백문자를 제거하는데 특수한 문자나 운영체제에서 표시하지 못하는 문자가 공백처럼 보일 수 있습니다.

    우리 눈에는 공백처럼 보이지만 위 그림처럼 TRIM으로도 지워지지 않습니다.

    이런 경우 인쇄할 수 없는 문자를 제거하는 CLEAN이라는 함수를 사용합니다.

    CLEAN(text)

    CLEAN도 TRIM처럼 사용법이 간단합니다.

    인수로 인쇄할 수 없는 문자를 가진 문자열을 넘겨주면 제거하고 정상적인 문자열을 반환해 줍니다.

     

    엑셀 CLEAN으로 공백을 제거한 모습
    엑셀 CLEAN으로 공백을 제거한 모습

     

    짜잔~2학년에 있던 공백이 지워진 것을 볼 수 있습니다.

    그러나 답답한 CLEAN은 TRIM이 삭제했던 공백을 삭제 못한 모습을 볼 수 있습니다.

    그렇기 때문에 원문과 같은 데이터는 TRIM과 CLEAN을 함께 사용합니다.

     

    엑셀 TRIM과 CLEAN을 이용하여 공백을 완벽이 제거한 모습
    엑셀 TRIM과 CLEAN을 이용하여 공백을 완벽이 제거한 모습

    =TRIM(CLEAN(I8))

     


    공백 제거 시 참고하면 좋을 함수

    TRIM과 CLEAN의 활용법을 살펴보면서 공백으로 보인다고 다 같은 공백이 아님을 알 수 있었습니다.

    우리가 보는 문자의 모양이 엑셀이나 윈도에서는 같은 문자라고 인식하지 않는다는 것을 알 수 있습니다.

    이런 문자를 눈으로 확인하기 위해서는 CODE함수를 사용합니다.

    CODE(text)

    사용법도 TRIM이나 CLEAN처럼 간단합니다.

    바로 사용 예를 보겠습니다.

     

    엑셀 CODE 함수 예시
    엑셀 CODE 함수 예시

     

    CODE 함수는 문자열의 첫 번째 문자의 코드를 알려줍니다.

    같아 보이는 ' 2 학년'이라는 단어도 code로 보니 다른 문자가 있는 것을 알 수 있습니다.

    CLEAN함수를 설명할 때 인쇄되지 않는 문자를 지워준다고 했는데 정확하게는 CODE함수로 볼 때 0~39,127,129,141,143,144,157으로 나오는 문자들을 삭제해 준다고 생각하시면 됩니다.

    TRIM은 32와 160을 삭제해 줍니다.