티스토리 뷰

엑셀 CLEAN 함수는 텍스트에 포함된 프린트 할 수 없는 문자를 제거하는 함수이다. 불필요한 텍스트 문자열을 셀 데이터에서 제거하여 파일 크기를 줄일 수 있을 뿐 아니라, 두 줄 이상의 멀티라인으로 표시되는 셀 데이터를 한 줄로 표시할 때 주로 사용된다.


엑셀 CLEAN 함수는 복사해 온 텍스트 중에서 종종 발견되는 아스키코드( ASCII CODE ) 0 ~ 31번의 출력되지 않는 문자인 제어 문자를 제거한다.


이와 유사한 기능을 하는 함수로는 공백을 제거하는 기능을 하는 TRIM 함수가 있다. 이 TRIM 함수는 아스키코드 32번 문자인 추가 공백( SPACE )을 텍스트 문자열에서 제거한다.


[엑셀 모바일] TRIM 함수로 불필요한 공백 제거하기 :

http://secstart.tistory.com/741


이번 게시물은 CLEAN 함수를 익히고 활용하는 방법을 배워본다.


엑셀 CLEAN 함수 기본 설명

설명 : 전달된 텍스트 문자열 인수에서 인쇄할 수 없는 문자를 제거하고 반환한다.

구문 : CLEAN( text )

인수 :

text : 인쇄할 수 없는 문자를 제거할 텍스트 문자열


엑셀 CLEAN 함수 사용 예제

엑셀 CLEAN 함수로 인쇄되지 않는 불필요한 제어 문자들을 제거하고 깨끗한 텍스트 문자열만을 남기는 여러 사용 예제이다.


[그림1] 엑셀 CLEAN 함수로 여러 줄을 한 줄로[그림1] 엑셀 CLEAN 함수로 여러 줄을 한 줄로



사용 예제1: =CLEAN( C5 )

사용 결과1: 비출력문자


C5 셀의 함수식은 =CHAR(7) & "비출력문자" 이다. 이 셀을 CLEAN 함수의 text 인수로 참조하여 비출력 문자인 CHAR(7) 을 삭제한다. CHAR 함수는 아스키코드 문자를 반환하는 함수이다. 즉, CHAR(7) 은 ASCII CODE 7번인 벨소리를 반환한다.


따라서, C5 셀은 벨소리 & "비출력문자열" 으로 출력된다.


이 셀을 CLEAN 함수의 인수로 참조하였기에 정상 출력이 불가능한 벨소리 문자, CHAR(7) 이 제거되고 "비출력문자" 만이 결과로 반환된다.


[기타 함수] 엑셀 CHAR 로 아스키코드를 문자로 표시하기 :

http://secstart.tistory.com/913


사용 예제2: =CLEAN( C6 )

사용 결과2: CLEAN 함수


C6 셀의 함수식은 ="CLEAN 함수" & CHAR(20) 이다. 이 C6 셀의 함수식의 끝에는 인쇄되지 않는 문자인 CHAR(20) 이 추가되어 있는 것이다. 이 비출력 문자를 제거하기 위해서 CLEAN 함수가 사용된다.


아스키코드 20번 문자를 제거하고 정상 출력가능한 문자인 "CLEAN 함수" 만이 결과로 반환된다.


[실무 엑셀] 엑셀의 기본적인 연산자와 기호의 의미 :

http://secstart.tistory.com/565


사용 예제3: =CLEAN(C7)

사용 결과3: 아스키0~31번


C7 셀의 함수식은 =CHAR(25) & "아스키" & CHAR(7) & "0~31번" & CHAR(12) 이다. 정상 출력되는 문자는 "아스키" 와 "0~31번" 이다. 나머지 CHAR 함수로 표시된 문자들은 아스키코드 31번 이하의 인쇄되지 않는 비출력 문자들이다. 


CLEAN 함수가 이 함수식의 텍스트에서 출력가능 텍스트 문자열만을 남기고 나머지 문자들을 제거하는 것이다. 결과로 "아스키0~31번" 이 반환된다.


[엑셀 실무] 텍스트 문자열에서 공백 제거방법 :

http://secstart.tistory.com/532


사용 예제4: =CLEAN(C8)

사용 결과4: 여러 라인을 CLEAN 함수로 한 라인으로


C8 셀은 ALT+ENTER 를 사용한 멀티라인 셀 데이터이다. "여러 라인을 " + 알트엔터 + "CLEAN 함수로 " + 알트엔터 + "한 라인으로" 의 순으로 입력된 텍스트 문자열이다. 이렇게 여러 줄의 텍스트를 한 줄로 표시 할 수 있을까?


이때, CLEAN 함수가 유용하게 사용된다. 그 이유를 알아보면, CLEAN 함수는 아스키코드 0~31 의 비출력 문자를 제거하는 함수라 하였다. 그런데, 엑셀에서 멀티라인 구성을 위해 사용되는 ALT+ENTER 가 의미하는 것은 ASCII CODE 10번 문자인 LineFeed( 줄바꿈 문자 ) 이다.


따라서, CLEAN 함수를 사용하면 아스키코그 10번 문자인 라인피드가 삭제되고 한 라인의 텍스트 문자열로 변화되어 반환되는 것이다. 세 줄로 구성된 C8 셀이 "여러 라인을 CLEAN 함수로 한 라인으로" 으로 표시되는 이유이다.


[엑셀 기초] 셀에 입력되는 값들을 줄바꿈하기 :

http://secstart.tistory.com/909


엑셀 CLEAN 함수, 불필요한 함수일것 같지만, 이렇게 실무에 활용할 수 있다. CLEAN 함수의 핵심은 ASCII CODE 0~31 번을 제거한다는 것이다. TRIM 함수가 불필요한 ASCII CODE 32 번 문자를 제거하는 것과 함께 기억하자.


참고. ASCII CODE

0 ~ 31 : 비출력 문자 ( 제어 문자 )

32 : SPACE

33 ~ 47 : 특수문자1

48 ~ 57 : 숫자

58 ~ 64 : 특수문자2

65 ~ 90 : 영문 대문자

91 ~ 96 : 특수문자3

97 ~ 122 : 영문 소문자

123 ~ 126 : 특수문자4

127 : DEL ( 제어 문자 )


[기타 함수] 엑셀 CODE 로 문자의 아스키코드 표시하기 :

http://secstart.tistory.com/917


마늘빵.

댓글