나. substitute 함수를 이용하는 경우
1편은 아래 URL을 참고 바랍니다.
https://lsw3210.tistory.com/463
substitute 함수는 특정 문자를 다른 문자로 대체하는 함수인데, 문자를 대체하면서 공백을 많이 주면 문자를 구분하기 쉬우므로 많이 사용합니다.
예를 들어
=substitute(b2,"-",rept(" ",50))이라고 입력하면
-이 공백 50개로 바뀝니다.
여기서 rept는 특정 문자(열)를 반복한다(repeat)는 의미, 다시 말해 공백 50개를 반복하므로 50개의 공백이 삽입되는 것입니다.
위 화면을 보면 FEDS 다음에 공백 50개가 있고, 100 다음에 공백 50개, JJ101 다음에 공백 50개가 있습니다.
따라서, 첫 번째 하이픈 이전의 문자는 위치 50 이전에 있게 되고,
두 번째 하이픈 이전의 문자는 100 이전에 있게 되며,
세 번째 하이픈 이전의 문자는 150 이전에 있게 됩니다.
따라서, 첫 번째 하이픈 이전의 문자는
=MID(SUBSTITUTE(B2,"-",REPT(" ",50)),1,50)로 구할 수 있고,
첫 번째와 두 번째 하이픈 사이의 문자는
=MID(SUBSTITUTE(B2,"-",REPT(" ",50)),51,50)로 구할 수 있으며,
두 번째와 세 번째 하이픈 사이의 문자는
=MID(SUBSTITUTE(B2,"-",REPT(" ",50)),101,50)로 구할 수 있습니다.
그런데, 51, 101이나 50, 100이나 별 차이가 없으므로 50,100으로 하는 것이 편리하며,
위 수식을 일반적인 기준으로 만들면
=MID(SUBSTITUTE(B2,"-",REPT(" ",50)),시작 위치의 하이픈 개수 * 50,50)이 됩니다.
다시 말해, 두 번째와 세 번째 하이픈 사이의 문자를 추출하고 싶으면
=MID(SUBSTITUTE(B2,"-",REPT(" ",50)),2*50,50)이 됩니다.
그런데 왼쪽에 공백이 있습니다.
따라서, 좌우 공백을 없애주는 Trim 함수를 사용해서
=TRIM(MID(SUBSTITUTE(B2,"-",REPT(" ",50)),2*50,50))라고 하면 됩니다.
'Excel' 카테고리의 다른 글
숫자를 한글로 표시하고, 수식에서 사용하기 (0) | 2024.04.15 |
---|---|
셀 병합 유지 상태에서 합계 등 구하기 (0) | 2024.04.09 |
특정 기호 사이의 문자 찾기(1) (0) | 2024.04.07 |
동점일 경우 다른 기준으로 순위 매기기 (0) | 2024.04.06 |
문자열내 문자의 개수 세기 (0) | 2024.04.01 |