[ 내용 추가 : 2012.01.02 ] ===================================================================
이런 유형의 작업을 쉽게 해결할 수 있는 엑셀툴을 개발하여 공유하고 있습니다.
아래 게시물을 참고하세요..
http://www.abyul.com/zbxe/100188
========================================================================= [ 내용 추가 끝 ]
원본데이터가 행수 644개, 열수가 94개고 변환된 데이터 형태가 644*94 = 60,537행으로 쫌 용량이 크다..
다운받기 : Exel_Tool_TransferToDataBaseFormat_v1.1.zip
하나의 행에 여러개의 열의 정보가 들어 있는 데이터 형태의 데이터다.
이런 녀석은 피벗테이블을 이용하여 여러가지 형태의 현황을 뽑아내기 힘들다.
이걸 데이터베이스 형태로 가공하여 피벗테이블을 돌릴 수 있도록 변환해보자.
바로 이런 모양이 된다.
월별 아이디별 코드별, 데이터의 형태다. 요런 모양이 되어야 피벗으로 마음껏 요리할 수 있다.
첨부파일에서 사용한 변환하는 방법은 크게 3가지다.
아래 3가지 방식 중에서.. 당연히 수식을 사용하는게 제일 편하다. ㅎㅎ
1. 수식을 이용하는 방법
2. 피벗테이블을 이용하는 방법
3. 매크로를 이용하는 방법
1. 수식을 이용하는 방법..
기본적으로 offset()함수를 사용했다.
데이터가 시작되는 셀에서 열의 수만큼의 셀을 갖고 오고, 다음행으로 이동하여 열의 수만큼 셀을 갖고 오는 식이다.
=OFFSET(INDIRECT($L$2&"!"&$M$2),INT((ROW()-$O$2)/$K$2),MOD(ROW()-$O$2,$K$2))
복잡하게 보이지만.. 단순하다. =OFFSET( 데이터가시작되는셀 , 열의 갯수 단위로 행 바꾸기 , 열의 갯수 단위로 열 셀 갖고 오기 )
2. 피벗테이블을 이용하는 방법
좀 아이러니하지만.. 피벗테이블로 돌리기 쉬운 형태로 만들기 위해 피벗테이블을 활용하는 형태다.
말로 설명하는 것보다 첨부파일을 보는게 나을 듯..
3. 매크로를 이용하는 방법
매크로를 웬만해선 안 쓰지만.. 머.. 어떤때는 매크로가 나을때가 있으니까..
이것도 머.. 첨부파일을 보는게 낫겠다.