보통 다른 소스로부터 데이터를 카피앤 페이스트하여 엑셀에 붙여넣으면
공백을 제거해 줘야 하는 경우가 있습니다.
특히 value 함수를 이용해서 숫자로 바꾸려고 하거나 할 때
앞 뒤로 공백이 있거나, 중간에 공백이 있으면
!value 에러가 뜨면서 변환이 안되거든요.
일반적인 경우라면 아래와 같은 방식으로 제거가 가능합니다.
=TRIM(A1) ' 문장 앞 뒤의 공백 제거
=SUBSTITUTE(A1,CHAR(160),"") 'unicode 160(= )을 제거
=SUBSTITUTE(A1," ","") ' 일반 공백(char(32))를 제거
그러나, 제가 이번에 만난 녀석은 매우 독한 녀석이었어요.
계속 제거하려고 해 봐도 제거가 되지 않고, =len(A1)으로 길이를 확인해 보면
4가 나와야 하는데 16개의 공백이 추가되어 20이 나오는 상황이었죠.
공백부분을 unichar함수로 조사하면 160이 나와서 별 문제 없어보이는데
CODE(MID(A1,5,1))함수를 써서 조사해 봤더니 63번 값이 나오더군요.
이 문자는 Excel에서 인식하지 못하는 글자를 반환할 때 나타나는 값입니다.
결국 저는 이 공백을 제거할 수가 없었어요.
substitute 함수로도 제거가 안되는 케이스입니다.
어쩔 수 없이 처음으로 공백이 나타나는 위치를 찾아서
mid함수를 써서 가져왔어요.
63번 값은 char(63)으로 재현할 수도 없어서 참 곤란한 경우입니다.
아무튼 완벽한 해결 방법은 아니지만 도움이 되셨으면 좋겠어요.
반응형
'Tech Stuff > Software' 카테고리의 다른 글
엑셀에서 사라지지 않는 공백 없애는 법 (0) | 2023.10.02 |
---|---|
크롬드라이버 오류 발생시 대처법 (0) | 2023.08.21 |
MS 워드 커서 이동 불가 해결 방법 (0) | 2023.02.27 |
윈도우 한영전환 안될 때 확인할 사항 (1) | 2022.09.18 |
특정 조건을 만족시키는 셀들 중에서 최대값, 최소값 찾기 (0) | 2022.09.18 |