문제상황
회사에서 각종 문서를 작성할 때
몇가지 규칙을 정해두고 규칙에 맞게 작성하라고 가이드를 줍니다.
이런 식으로 어떤 규칙에 맞춰서 쓴 짧은 문장(글자) 중에서
내가 원하는 글자만 추출해내는 방법에 대해서 알아보겠습니다.
글보다는 예시 이미지가 더 이해가 쉬울 것 같아요.
아래 이미지에서 적용된 규칙은 총 3가지 입니다.
1. )는 /보다 앞에 있다.
2. /는 )보다 뒤에 있다.
3. 팀명은 )와 / 사이에 쓴다.
이 예시에서 ) 와 / 사이에 기재된 팀명만 추출해보겠습니다.
관련 함수
2023.05.01 - [업무 관련/엑셀] - [left, mid, right] 셀 값 중에서 일부만 추출하기
2023.09.25 - [업무 관련/엑셀] - [Search, Find] 찾으려는 글자는 전체 글자 중에서 몇 번째 위치에 있는가
하는 방법
- 글자 안에 )가 몇 번째에 위치하는지 찾는다. (search 혹은 find)
- 글자 안에 /가 몇 번째에 위치하는지 찾는다. (search 혹은 find)
- mid 함수 안에 )의 위치와 /의 위치를 활용하여 글자를 추출한다.
(팀명은 맨 왼쪽 혹은 맨 오른쪽에 있지 않아서 mid함수를 사용한다.)
search나 find나 그 어떤 것을 써도 상관 없습니다.
search, find, mid 모두 어려운 함수는 아니지만
mid함수를 쓸 때 계산을 조금 신경써야합니다.
=mid(글자가 있는 셀, )의 위치 +1, /의 위치 - )의 위치 -1)
이렇게 설정을 해주셔야 팀명만 나타납니다
)의 위치 +1 을 하는 이유는 팀명이 ) 바로 뒤에 있기 때문입니다.
mid 함수에서 start_num 조건은 해당 위치부터 포함이기 때문에
)의 위치를 그대로 쓰면 )팀명 의 형태로 글자가 추출됩니다.
/의 위치 - )의 위치 -1 을 하는 이유는
mid 함수에서 num_chars, 즉 start_num부터 "몇번째"까지 글자를 추출할건지 범위를 정하기 위해서입니다.
/ 와 ) 글자만 있기 때문에 /의 위치 - )의 위치 는 추출하려는 글자의 길이가 제각각이어도
자동으로 글자 길이를 알아낼 수 있는 방법이 됩니다.
마지막으로 -1을 꼭 해주어야하는데요,
만약 /의 위치 - )의 위치 로만 계산을 한다면 /까지 포함되어 팀명/ 의 형태로 글자가 추출됩니다.
/를 빼기 위해 마지막으로 -1까지 해주어야합니다.
'업무 관련 > 엑셀' 카테고리의 다른 글
Sum의 범위를 Indirect로 지정하기 (0) | 2023.10.23 |
---|---|
[Weeknum] 해당 날짜가 몇 주차인지 알아보기 (+매월 주별/품목별 판매량/판매비율 구하기) (1) | 2023.10.17 |
[Search, Find] 찾으려는 글자는 전체 글자 중에서 몇 번째 위치에 있는가 (0) | 2023.09.18 |
[조건부서식] 간트 차트 만들기 (1) | 2023.09.12 |
[And, Or] 모두 충족하거나, 이 중 하나라도 충족하거나 (조건함수) (0) | 2023.09.06 |