일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |
- #코멘토 #코멘토실무PT #실무PT후기 #Google BigQuery # 자동화
- #코멘토 #코멘토실무PT #실무PT후기 #Google BigQuery # 전환율
- #코멘토 #코멘토실무PT #실무PT후기 #Google BigQuery
- #코멘토 #코멘토실무PT #실무PT후기 #Google BigQuery # 대시보드
- #패스트캠퍼스 #내일배움카드취업 #국비지원교육 #K디지털기초역량훈련 # 데이터시각화강의
문과생의 데이터 연습
[Excel] 원하는 문자 추출 (SEARCH & MID & REPLACE) 본문
안녕하세요~
오늘은 문자열 관련 엑셀 함수를 알아보고자 합니다.

출발~
예제 입니다.

여기서 문자열 함수를 사용해서 이메일만 뽑아보고 또 특정 이메일로 바꾸는 연습을 해보겠습니다~
1.) 이메일만 뽑기
gmail.com / daum.net / naver.com / nate.com 의 이메일만 뽑아 봅시다. 그리고 이것들의 개수를 세면 어떤 이메일이 제일 많은지 알 수 있겠죠?
MID 함수
MID(지정할 셀, 스타트, 끝)
mid함수를 단독으로 사용해서 이메일만 뽑을 수 있기는 합니다.

앞에 셀을 정하고 efefe2223@gmail.com의 gmail.com으로 시작하는 번호는 11입니다. 따라서 11부터 시작하고
끝은 사실.. 끝까지 뽑을 거니깐 높은 숫자 아무거나 지정해도 gmail 끝까지 뽑힙니다.
문제점!
근데 이 방식은 문제가 있습니다.

왜죵?

방금 쓴 함수를 쭉 내리면 아쉽게도 모든 이메일의 스타트 숫자가 다르니(다를 수밖에 없겠죠?) 정확하게 뽑을 수 없습니다.
따라서 추가적인 함수를 적어줘야 합니다.
find & search 함수
find 함수 혹은 search 함수를 쓰면 됩니다. (둘 다 일단 기능은 대부분 같습니다. 다른 점은 추후에..)
Search(찾을 문자, 셀)
모든 이베일에는 @표시가 있음으로 @을 기준으로 찾으면 됩니다.

이렇게 하면 모든 이메일의 @ 위치를 숫자로 알려줍니다. 첫번 째 이메일 같은 경우는 10번째에 @가 있네요 ㅎㅎ
mid & search 응용
방금 배웠던 것들을 응용해봅시다.
search 함수로 @의 스타트 위치 번호를 구했고 그 번호부터 마지막 번호까지 Mid 함수로 쭉 추출하면 되겠죠?

MID(셀, SEARCH("찾을 문자",셀), 끝)
SEARCH("찾을 문자",셀) 가 즉 스타트 번호가 겁니다.
그런데.. @도 같이 뽑혔네요🤣 (당연하지.. @을 기준으로 했잖아 읍읍..)

+ 1을 더해주면 됩니다 ㅎ
2.) 특정 메일로 바꾸기
이런 주문(?)이 있을리는 모르겠지만... 모든 naver 이메일 사용자를 gmail로 바꿔보는 겁니다. (그게 의미가..? 읍읍)
Replace 함수
naver 이메일을 gmail 로 바꿔야함으로 바꾸는 함수 replace 함수를 써야합니다.
replace(셀, 스타트, 끝, 바꿀 문자)

1부터 3까지 즉 efe문자를 vvv로 바꾸는 예제입니다.
이걸 활용하면 @을 기준으로 시작하는 부분부터 끝까지를 "@gamil.com"으로 바꿔라! 라는 엑셀 함수를 쓸 수 있을 것 같습니다!!
replace + search 응용
@기준? 하면 딱 search 함수가 떠오르죠? ㅋㅋ 네 replace 함수하고 search 함수를 같이 쓸겁니다.

REPLACE(B2, SEARCH("@",B2), 30, "@gmail.com")
search 함수를 이용해서 @부터 시작해서 끝까지를(30으로 지정했습니다. 어차피 끝까지 뽑는 거기 때문에 마지막 숫자는 그냥 임의로 큰 숫자 입력해주셔도 무관합니다) gmail.com으로 바꾸는 겁니다.
그런데! 우리가 원하는것은 특정 이메일(naver) 만 gmail.com으로 바꾸고 싶었잖아요? ㅋㅋㅋ

맙소사.. 설마 또 다른함수..?
네 IF문이 떠오르셔야 합니다 ㅎㅎ
이걸 말로 표현하면...
만약 어떤 셀이 naver이면 gmail.com으로 바꾸고 (REPLACE(B2, SEARCH("@",B2), 30, "@gmail.com") 아니면 셀 그대로 가라
이걸 엑셀로 표현해 봅시다
IF(C2 = "naver.com", REPLACE(B2, SEARCH("@",B2), 30, "@gmail.com"), B2)

아까 특정 메일만 뽑는 함수를 만들었잖아요? 이걸 참조하는 겁니다. (우려먹기..지렸)
근데 이렇게 우려먹음을 못하면.. 엑셀함수가 길어집니다.. 😫
naver를 보시면 gamil로 바뀐것을 확인 할 수 있어요!! 만약 이메일만 보여주고 싶다면 맨마지막 B2를 C2로 바꾸면 됩니다 ~
결국 마지막은 if문 + replace + search + mid문(참조 셀) 까지 싹다 써버리는 종합선물세트네요 ㅋㅋ (이거 쓸모가 있냐?)
오늘은 이렇게 해서 문자열 함수를 알아봤습니다.
사실 더 간편한 방법이 있긴 한걸로 알고 있어요.. (근데 그건 다른어려운 함수를..)
저는 이걸로 만족하렵니다 ㅎㅎ 추후 다른 방법을 올려볼게요!
이렇게 해서 문자열 함수를 알아봤습니다.

ㅂ~
'Excel > Excel' 카테고리의 다른 글
[Excel] Xlookup 알아보기 (Vlookup을 씹어먹는 신흥강자?) (0) | 2022.07.06 |
---|---|
[Excel] Vlookup 함수 기초 (0) | 2022.06.19 |
[Excel] VLOOKUP 함수 사용하기 응용(?) (0) | 2022.06.17 |
[Excel 함수] IF문 (0) | 2022.06.15 |
[Excel 함수] COUNTIFS & SUMIFS (0) | 2022.06.15 |