업무 관련/엑셀

규칙이 있는 짧은 문장에서 원하는 글자 추출하기

해보려는사람 2023. 10. 11. 09:24
728x90
반응형

 

 

 

문제상황

회사에서 각종 문서를 작성할 때
몇가지 규칙을 정해두고 규칙에 맞게 작성하라고 가이드를 줍니다.

이런 식으로 어떤 규칙에 맞춰서 쓴 짧은 문장(글자) 중에서
내가 원하는 글자만 추출해내는 방법에 대해서 알아보겠습니다.

 

글보다는 예시 이미지가 더 이해가 쉬울 것 같아요.

아래 이미지에서 적용된 규칙은 총 3가지 입니다.
1. )는 /보다 앞에 있다.
2. /는 )보다 뒤에 있다.
3. 팀명은 )와 / 사이에 쓴다.

예시 이미지 )와 / 사이에 팀명이 있다.

이 예시에서 ) 와 / 사이에 기재된 팀명만 추출해보겠습니다.

 

 

728x90

 

 

 

관련 함수

2023.05.01 - [업무 관련/엑셀] - [left, mid, right] 셀 값 중에서 일부만 추출하기

2023.09.25 - [업무 관련/엑셀] - [Search, Find] 찾으려는 글자는 전체 글자 중에서 몇 번째 위치에 있는가

 

 

 

반응형

 

 

 

하는 방법

 

  1. 글자 안에 )가 몇 번째에 위치하는지 찾는다. (search 혹은 find)
  2. 글자 안에 /가 몇 번째에 위치하는지 찾는다. (search 혹은 find)
  3. mid 함수 안에 )의 위치와 /의 위치를 활용하여 글자를 추출한다.
    (팀명은 맨 왼쪽 혹은 맨 오른쪽에 있지 않아서 mid함수를 사용한다.)

 

search나 find나 그 어떤 것을 써도 상관 없습니다.

search, find, mid 모두 어려운 함수는 아니지만
mid함수를 쓸 때 계산을 조금 신경써야합니다.

=mid(글자가 있는 셀, )의 위치 +1,  /의 위치 - )의 위치 -1)

이렇게 설정을 해주셔야 팀명만 나타납니다

 

)의 위치 +1 을 하는 이유는 팀명이 ) 바로 뒤에 있기 때문입니다.

mid 함수에서 start_num 조건은 해당 위치부터 포함이기 때문에
)의 위치를 그대로 쓰면 )팀명 의 형태로 글자가 추출됩니다.

 

/의 위치 - )의 위치 -1 을 하는 이유는
mid 함수에서 num_chars, 즉 start_num부터 "몇번째"까지 글자를 추출할건지 범위를 정하기 위해서입니다.

/  ) 글자만 있기 때문에 /의 위치 - )의 위치 는 추출하려는 글자의 길이가 제각각이어도
자동으로 글자 길이를 알아낼 수 있는 방법이 됩니다.

마지막으로 -1을 꼭 해주어야하는데요,
만약 /의 위치 - )의 위치 로만 계산을 한다면 /까지 포함되어 팀명/ 의 형태로 글자가 추출됩니다.
/를 빼기 위해 마지막으로 -1까지 해주어야합니다.

 

결과

 

 

 

 

 

728x90
반응형