혹시 이런 작업이 필요한 사람들이 있을지 몰라 간단하게(?) 살펴본다.
원래 하나의 변수에는 하나의 정보만 입력되어야 한다.
그런데 작업을 하다보면 또는 다른 이의 자료를 보면 바람과는 다르게
하나의 변수에 여러 정보가 동시에 입력되어진걸 자주 접하게 된다.

예제를 보면 하나의 필드에 세가지 정보가
함께 기재되어 있다.
차종
생산지
배기량
그런데 이 정보를 이용해야만 된다면
품 좀 팔아 나눌 필요가 있다.
그래도 이정도면 양반이라고 말해도 될
정도로 깨끗한 편이다.
경험상 최악의 자료는 주소다. -_-;;
내키는 대로 주소를 입력한 경우는
끔찍하다는 표현 외에는 달리 없을 정도다.
다시...
자료를 분류 할 땐
음 뭐라고 할까 -_-a
경험상 자료를 넓게 봐야 한다.
전체적으로 통일된 규칙성이 보이는지,
규칙적이라면 어떤 특성을 갖고 있는지,
그 특성만으로 분류 가능한지 등등.

작업이 영~ 만만해 보이지 않는다면...
고민할거 없다.
넘에게 떠넘기면 된다. ^^
그게 어렵다면...
몸으로 때워야 된다. T_T
자 그럼 차종 부터.
입력된 값에서 첫번째 띄어쓰기 까지가 차종 정보다.
즉 매우 규칙적이다.
이를 수식으로 처리하면...
=LEFT($A2,FIND(" ",$A2)-1)
다음엔 생산지.
크게 '국산', '외산', '없음' 세가지로 분류할 수 있겠다.
그런데 '없음'의 경우는 기재되어 있지 않기에 좀 복잡한 상황이 연출 된다.
이에 간단한 수식을 만들어보면...
g2 셀
=N(ISNUMBER(FIND("국산",$A2)))
h2 셀
=N(ISNUMBER(FIND("외산",$A2)))
그런데 좀 그렇다?
하나의 정보를 얻기 위해 필드를 두개나 이용한다는게...
그래서 하나의 필드로 조정하면...
i2 셀
=SUMPRODUCT(N(ISNUMBER(FIND({"국산","외산"},$A2))),{1,2})
물론 배열수식이다.
결과값이 1이면 '국산', 2이면 '외산', 0이면 '없음'을 의미한다.
그리고 이 수식은 아래 처럼 바꿀 수 있다.
j2 셀
=MMULT(N(ISNUMBER(FIND({"국산","외산"},$A2))),{1;2})
역시 별거 아니다.
Sumproduct 함수가 Mmult 함수도 대체된거 빼면...
라고 생각하면 조금 오산이다.
뒤에 있는 {1,2}가 {1;2}로 변경됐기 때문이다.
이부분은 곰곰히 생각해보기 바란다.
왜 변경되어야 하는지...
그런데 이렇게만 해서는 알아보기 어려우니 숫자 코드를 문자로 변경해줘야 한다.
그래서 최종 수식은...
d2 셀
=INDEX({"없음","국산","외산"},MMULT(N(ISNUMBER(FIND({"국산","외산"},$A2))),{1;2})+1)
끝으로 배기량.
고민할거 없다.
d2셀의 수식이 수긍 된다면, d2셀을 컨닝하면 된다.
그런데 배기량 종류가 많다보니 직접 입력하기가
불편해 보인다.
이럴때 참조표를 작성해 이용하면 좀더 수월하다.
e2 셀
=INDEX($P$2:$P$13,MMULT(N(ISNUMBER(FIND(TRANSPOSE($P$2:$P$13),$A2))),$R$2:$R$13))
물론 배열수식이다.

그리고 배기량에 따라 차형을 구분하였기에, 배기량 수식을 컨닝하면
차형은 쉽게 구할 수 있다.
f2 셀
=INDEX($Q$2:$Q$13,MMULT(N(ISNUMBER(FIND(TRANSPOSE($P$2:$P$13),$A2))),$R$2:$R$13))
이렇게 해서 세가지 정보 외에 하나가 더 추가된 자료를 구축하게 된다.
이제는 집계만 하면 된다.
수식을 이용하든 피벗테이블 기능을 이용하든...
그런데 이런 식에 원시자료를 막상 접하면...
텍스트 나누기 기능을 이용해 편집하는게 정신 건강(?)에 이롭고
손 쉬울 때가 더 많다는거... -_-;;
분류.xls


댓글을 달아 주세요