나눔터  
  HOME > 나눔터 > 묻고답하기 > 엑셀
엑셀
엑셀에 대한 질문과 답변을 올려주세요. 단, 취지에 맞지 않는 글은 운영자가 삭제합니다.
 "000 님, 도와주세요", "부탁 드립니다.", "급합니다!" 등과 같이 막연한 제목을 달지 말아주세요.
[필독] 빠르고 정확한 답변을 얻는 16가지 Tip !
[필독] 저작권법 개정에 따른 이용안내

작성자:  

 권순원 (anybuild)

추천:  2
파일:     혼합문자에서 코드추출.xlsx (281.6KB) 조회:  2331
제목:   혼합문자에서 "코드"추출
     
  * 답변하시는 분들께 도움이 되도록 자신의 환경을 아래 항목 옆에 기재해 주세요.

 - 엑셀 버전(95,97,2000,xp,2003,2007):

* 아래줄에 질문을 작성하세요 >>

안녕하세요?
수고하십니다.
중소기업에서 자재 담당을 맏고있습니다.
혼합 문자열에서 조건에 맞는 코드를 추출하고 싶은데 어렵네요.
도움 요청드립니다.
 
[불량 게시물 신고]  
가을하늘D3셀에 다음 수식을 입력합니다.

=SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(LEFT(B3,FIND("-",B3)-1),"열","",1),"연","",1),"도","",1),"M","",1)

상기 수식을 아래셀들에 복사합니다.
04-24 (10:32)
삭제 ■신고
권순원이렇게 쉽게 해결이 되네요.
너무너무 감사드립니다.
04-24 (17:15)
삭제 ■신고
권순원죄송하지만 한번만 더 부탁드리겠습니다.
위에 형식으로 추출했더니 추출값이 숫자로 인식이 안되서 index가 먹히지 않습니다. 그래서 끝에 *1를 넣어서 숫자로 바꿔줬더니 이게 또 문자로 가져오는 코드가 #value!로 처리되어버리네요.

=SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(LEFT(B3,FIND("-",B3)-1),"열","",1),"연","",1),"도","",1),"M","",1)*1

부탁드립니다.
04-24 (17:36)
삭제 ■신고
조삿갓권순원님, 문제 해결의 방향을 잘못 잡고 계신 듯 합니다.
어차피 코드 추출한 걸 보면 숫자로만 된 코드도 있지만 문자가 혼용된 코드가 섞여 있는데, 숫자로만 된 것은 숫자로, 문자가 섞인 것은 문자로 구분하여 검색하자면 오히려 양쪽 모두 수식을 수정해야 하고 복잡해집니다.

그보다는 코드 추출 자체는 문자형(텍스트형)으로 통일시키고
INDEX 함수를 쓰는 부분에서 찾는 키 값을 숫자 코드로 입력했을 때 엑셀이 이를 숫자로 해석해버리는 문제를 INDEX 함수 쪽에서 해결하는 것이 더 바람직할 것입니다.

입력한 키 값을 & 문자열 연산으로 텍스트형으로 변환하여 INDEX 함수에 넣어주면 더 간단한 해결 방법일텐데요...?

예: =INDEX($B$1:$B$100,MATCH(G1&"",$A$1:$A$100,0))
 => G1 셀에 입력한 색인 키 값과 일치하는 코드를 A열에서 텍스트로 검색하여, 일치하는 코드에 해당하는 값을 B열에서 읽어 옴

G1&"" 대신 CONCATENATE(G1) 으로 쓰는 방법도 있습니다.
04-24 (20:12)
삭제 ■신고
권순원네~
좋은 지적 감사드립니다.
04-24 (21:44)
삭제 ■신고
권순원고수님 수고많으십니다.
고수님께는 아주 단순한 처리일텐데 도저히 해결이 안되서 도움 받고자합니다. 
이번에 회사에서 생산지시번호 형식을 추가했는데 해결이 안되네요.

"3110열연도M-111B1024-350D" 이경우는 위의 방법으로 3110 추출이 해결됩니다.

"3110가1-111B1024-350D" 이경우에도 3110을 추출하고 싶은데 31101이 추출됩니다. 지도부탁드립니다.
06-05 (10:03)
삭제 ■신고
        
  

작성일 : 2018-04-24(08:12)
최종수정일 : 2018-04-24(08:12)