아이엑셀러 닷컴
  • 최초 작성일: 2008-06-20
  • 최종 수정일: 2008-06-20
  • 조회수: 5,716 회
  • 작성자: 무지개타고
  • 강의 제목: 급할수록 하나씩 하나씩

엑셀러 권현욱

들어가기 전에

'통계'라고 하면 여러분은 어떤 생각이 드시나요? 저는 개인적으로 좋은 기억보다 그렇지 않은 기억이 많습니다만, 최근 들어 통계를 좀 더 공부해야겠다는 생각을 많이 하고 있습니다.

이번 시간에 함께 할 주제는 '무지개타고'님의 재미있는 통계이야기입니다. '무지개타고'님은 '통계로 세상보기'라는 블로그(https://onrainbow.tistory.com/)를 운영하고 있기도 합니다. 특유의 위트와 재미가 있는 통계 강의에 빠져보시기 바랍니다.


  • 이 페이지의 저작권은 콘텐츠 제공자에게 있습니다.
  • 본문 내용은 필자 개인의 견해이며 아이엑셀러 닷컴 공식 의견과 일치하지 않을 수도 있습니다.

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

예제를 보면 하나의 필드에 차종, 생산지, 배기량 등 세 가지 정보가 함께 기재되어 있다.

로딩 중...

이 정보를 이용해야 한다면 품 좀 팔아야 한다. 그래도 이 정도면 양반이라 해도 될 정도로 깨끗한 편이다. 경험상 최악의 자료는 주소다. 내키는 대로 주소를 입력한 경우는 끔찍하다는 표현 외에는 달리 표현할 길이 없을 정도다.

자료를 분류 할 땐, 뭐라고 할까... 경험상 자료를 넓게 봐야 한다. 전체적으로 통일된 규칙성이 보이는지, 규칙적이라면 어떤 특성을 갖고 있는지, 그 특성 만으로 분류 가능한지 등등.

로딩 중...

작업이 영~ 만만해 보이지 않는다면? 고민할 것 없다. 다른 사람에게 떠넘기면 된다.(^^) 그게 어렵다면 몸으로 때워야(?) 된다. 차종부터 작업해 보자. 입력된 값에서 첫 번째 띄어쓰기까지가 차종 정보다. 매우 규칙적이다. 이를 수식으로 처리하면 이렇게 된다.

=LEFT($A2,FIND(" ", $A2)-1)

다음엔 생산지를 분리해 보자. 크게 '국산', '외산', '없음' 세 가지로 분류할 수 있겠다. 그런데 '없음'의 경우는 기재되어 있지 않기에 좀 복잡한 상황이 연출된다. 간단한 수식을 만들어 본다.

로딩 중...
G2: =N(ISNUMBER(FIND("국산", $A2)))
H2: =N(ISNUMBER(FIND("외산", $A2)))

그런데 좀 문제가 있다. 하나의 정보를 얻기 위해 필드를 두 개나 이용한다는 게. 하나의 필드로 조정해 보자.

로딩 중...
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셀 수식이 이해가 된다면 컨닝을 하면 된다.

다만 배기량 종류가 많다 보니 직접 입력하기가 불편해 보인다. 이럴 때에는 참조표를 활용하면 좀 더 수월하다.

로딩 중...
E2: =INDEX($P$2:$P$13, MMULT(N(ISNUMBER( FIND(TRANSPOSE($P$2:$P$13), $A2))), $R$2:$R$13))

물론 배열수식이다. CTRL + SHIFT + ENTER 키를 눌러서 마무리 해야 한다.

로딩 중...

그리고 배기량에 따라 차형을 구분하였기에 배기량 수식을 컨닝하면 차형은 쉽게 구할 수 있다.

F2: =INDEX($Q$2:$Q$13, MMULT(N(ISNUMBER( FIND(TRANSPOSE($P$2:$P$13), $A2))), $R$2:$R$13))

이렇게 해서 세 가지 정보 외에 하나가 더 추가된 자료를 구축하게 된다.

로딩 중...

이제는 수식이나 피벗 테이블을 이용해서 자신이 원하는 대로 집계 하면 된다.

로딩 중...

그런데 이런 식의 원시 자료를 막상 접하면 [텍스트 나누기] 기능을 이용하여 편집하는 편이 훨씬 정신 건강에 이롭고 손 쉬울 것 같다.

아이엑셀러 닷컴