Tech Stuff/Software

엑셀에서 사라지지 않는 공백 없애는 법

오빵호빵 2023. 10. 2. 17:30

보통 다른 소스로부터 데이터를 카피앤 페이스트하여 엑셀에 붙여넣으면

공백을 제거해 줘야 하는 경우가 있습니다.

특히 value 함수를 이용해서 숫자로 바꾸려고 하거나 할 때

앞 뒤로 공백이 있거나, 중간에 공백이 있으면

!value 에러가 뜨면서 변환이 안되거든요.

일반적인 경우라면 아래와 같은 방식으로 제거가 가능합니다.

 

=TRIM(A1)    ' 문장 앞 뒤의 공백 제거
=SUBSTITUTE(A1,CHAR(160),"") 'unicode 160(=&nbsp)을 제거
=SUBSTITUTE(A1," ","")  ' 일반 공백(char(32))를 제거

 

그러나, 제가 이번에 만난 녀석은 매우 독한 녀석이었어요.

계속 제거하려고 해 봐도 제거가 되지 않고, =len(A1)으로 길이를 확인해 보면

4가 나와야 하는데 16개의 공백이 추가되어 20이 나오는 상황이었죠.

공백부분을 unichar함수로 조사하면 160이 나와서 별 문제 없어보이는데

CODE(MID(A1,5,1))함수를 써서 조사해 봤더니 63번 값이 나오더군요.

이 문자는 Excel에서 인식하지 못하는 글자를 반환할 때 나타나는 값입니다.

결국 저는 이 공백을 제거할 수가 없었어요.

substitute 함수로도 제거가 안되는 케이스입니다.

어쩔 수 없이 처음으로 공백이 나타나는 위치를 찾아서

mid함수를 써서 가져왔어요.

63번 값은 char(63)으로 재현할 수도 없어서 참 곤란한 경우입니다.

아무튼 완벽한 해결 방법은 아니지만 도움이 되셨으면 좋겠어요.

반응형