Today's Agenda

와일드카드(*, ?)를 이용해서 바꾸기(Ctrl+H)를 이용하면 유용하다


와일드카드 라고 적으니 곧 있을 월드컵이 생각 나네요. 하지만 엑셀에서 와일드카드 라니? 라며 생소한 분이 계시지 않을까 합니다. 혹시 트럼프 카드 게임을 좋아하시는 분이라면, 조커 카드와 비슷하다고 생각하셔도 될텐데, 어떻게 설명 드리면 좋을까요?


"김모씨", "김OO" 이런 내용을 접하면 어떤 생각이 드시나요? 김씨 성을 가진 누군가를 떠올리겠죠?

조금 어거지이긴 하지만 "김모씨"나와 이렇게 하면 아마 김씨 성을 가진 모든 사람이 나올 것입니다. 


이처럼 엑셀에서도 일부분만 힌트 처럼 주고, 그 조건에 맞는 모든 내용에 원하는 작업을 할 수 있는 방법이 있습니다. 그것을 도와주는 것이 바로 와일드카드 인데요. '*'와 '?'가 있습니다.

*는 임의의 문자열을 의미하고, ?는 임의의 문자를 의미합니다. 문자열과 문자라는 차이만 있는데 어떻게 다른지는 차후에 설명드리고 우선 *를 어떻게 이용하는 지 설명드리고자 합니다. 


아래와 같이 사람이름과 나이가 있을 때, 위에서 얘기했던 것 처럼 김씨 성을 가진 사람만 찾아보려고 합니다.



Ctrl+F(찾기)를 누르시고, 아래처럼 '김*'를 입력하신 뒤 찾기를 누르시면 


아래 노란색으로 하이라이트 한 것 처럼 김씨 성을 가진 사람만 찾아 움직이게 됩니다.



이해가 되시나요? 간단히, * 자리에는 아무 문자열이나 들어갈 수 있다고 생각하시면 됩니다. 

그럼 이제 *와 ?가 어떻게 다른 지 알아볼까요? 


이번엔 Ctrl+F(찾기)에서 '김*의'와 '김?의'를 입력하고 결과가 어떻게 다르게 나오는 지 보겠습니다. 

[김*의]로 찾은 경우

'김'으로 시작하고, '의'로 끝나는 모든 사람이 검색됩니다.


[김?의]로 찾은 경우

이번엔 '김'으로 시작하고, '의'로 끝나는 사람 중에 세 글자인 사람만 검색되고 있습니다.


눈치채셨나요?

 *로 찾을 때는 '김'과 '의' 사이에 어떤 내용이 들어가도 되었습니다. 한글자도 좋고, 두글자도 좋고, 아마 세글자도 문제 없었을 것 입니다. 아무 것도 없어도 되었으니까요. 그래서 임의의 문자열라고 지칭했습니다. 그러나 ?로 찾을 때는 ?가 딱 한글자만을 의미하고 있습니다. 두글자는 되지 않죠. 그래서 임의의 문자라고 얘기했던 것입니다. 만약  '김??의'라고 쳤다면 4글자인 '김사마의'를 찾았을 것입니다. 


일전에 올린 포스팅 중에 '바꾸기 기능(Ctrl+H)를 이용해서 데이터 일관 변환' (http://consultoffice.tistory.com/34) 이라는 포스팅이 있었는데, 오늘 말씀 드린 와일드 카드를 이용하시면 더 강력하게 바꾸기를 사용하실 수 있습니다. 


제가 이번주에 사용했었던 실례를 말씀 드리면, ERP에서 다운 받은 자료가 코드와 텍스트가 섞여 있었고 저는 텍스트만 필요했습니다. 다행히 코드는 [Axxxxxxx] 형태로 구성되어 있었기에, 모든 자료가 [Axxxxxx] 종이컵, [Axxxxxxx] 물병 이런식으로 되어 있었습니다. 

 

그래서 저는 Ctrl+H(바꾸기) 기능을 이용해서, 일괄로 코드를 삭제하였습니다.


바꾸기 결과


다만 주의하실 점은 코드의 규칙성을 잘 파악하셔야 한다는 점입니다. 그래야 원하는 내용만 일괄로 바꾸실 수 있습니다. 

또 좀 더 세심하게 하시려면 바꾸시려는 대상의 범위를 우선 드래그해서 한정 지으신 뒤 바꾸기 기능을 이용하시면, 한정된 범위외에서 의도치 않게 바뀌는 가능성을 배제하실 수 있습니다. 


AND