엑셀 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( 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
마늘빵.
'엑셀 컴활 함수' 카테고리의 다른 글
[기타 함수] 엑셀 NUMBERVALUE 텍스트 문자열을 숫자로 변환 (0) | 2017.07.17 |
---|---|
[기타 함수] 엑셀 DOLLAR, WON 숫자를 통화 텍스트로 변환 (1) | 2017.07.07 |
[기타 함수] 엑셀 CODE 로 문자의 아스키코드 표시하기 (0) | 2017.06.19 |
[기타 함수] 엑셀 CHAR 로 아스키코드를 문자로 표시하기 (0) | 2017.06.09 |
[기타 함수] 엑셀 SUMXMY2 차의 제곱 합계 구하기 (0) | 2017.05.12 |