2014.03.06

고수의 노하우··· 엑셀로 데이터 다루기 '5가지 팁'

Sharon Machlis | Computerworld

데이터 작업이 많은가? 원하는 데이터를 필요한 형식으로 일관되게 얻기 위해 통계 모델을 이용하지는 않을 것이다. 데이터 청소나 포맷을 많이 하는 사람이라면 파이선(Python)이나 오픈리파인(OpenRefine)이나 R과 같은 특별한 툴의 사용에 주목하곤 한다.

하지만 단순히 엑셀 스프레드시트 만으로도 데이터를 강력히 조작할 수 있는 여지가 많다는 점은 잘 모를 것이다. 물론 적절한 공식을 변경할 줄 알아야 한다는 전제조건이 있다.

최근 개최된 2014년 컴퓨터지원 보고 컨퍼런스(Computer Assisted Reporting)에서는, 뉴욕의 신문사인 디지털 퍼스트 미디어(Digital First Media)의 수석 데이터 전문가인 메리조 웹스터가 자신의 엑셀 기술을 공유했다. 웹스터는 “이전에는 왜 이런 것들을 몰랐지?” 라고 말할 수 있는 것 한가지라도 배우길 바란다고 말했다.

날짜 기능(Datefunctions)
팁 1 : 날짜 데이터를 다른 필드로 분리하라


엑셀을 사용하여 연,월,일을 별개의 필드로 분리하려면 =Year(CellWithDate), =MONTH(CellWithDate), 그리고 =DAY(CellWithDate) 등의 공식을 사용할 수 있다. 이러한 방식으로 연월일을 분리하는 것은 마이크로소프트 엑세스에서도 지원 가능하다고 웹스터는 말했다.

또한 엑셀에서 =WEEKDAY(CellWithDate)를 기입함으로써 연월일을 입력했을 때 요일 정보를 얻을 수 있다. 하지만 요일 대신 숫자가 나오므로 유의해야 한다. 예를 들어, 1은 일요일, 2는 월요일 과 같은 식이다.

숫자 대신 요일을 나타내기 위해서는 WEEKDAY 함수의 결과값인 숫자에 포멧 셀(Format cells) > 커스텀(Custom)을 누르고 타입(Type) 텍스트 상자에 ddd를 누르게 되면 알파벳 세 자리로 된 요일 결과를 얻을 수 있으며 dddd를 누르게 되면 전체 요일 날짜를 얻을 수 있다.

팁 2 : 생년월일로 나이를 확인하는 방법

다른 사람의 생년월일 정보를 알 경우, 오늘 기준의 현재 나이를 알 수 있다. =DATEDIF()와 =TODAY()기능을 이용하면 된다. TODAY()는 여러분도 쉽게 유추 가능하듯 오늘의 날짜를 입력해 준다. DATEDIF()는 제시된 두 날짜 사이의 차이를 보여주는데 구체적인 공식은 다음과 같다.

=DATEDIF(Date1, Date2, 측정단위)

따라서 현재의 나이를 알기 위해서는 다음과 같은 공식을 사용하면 된다.

=DATEDIF(CellWithBirthday, TODAY(), “y”)

상기 함수의 “y”부분은 몇 살 인지만 표기할 뿐 나이자료를 반올림하지 않는다.



데이터 재가공(Reshaping data)
팁 3: 한가지 행으로부터 다수의 행을 만드는 법


데이터 상의 포맷이 관찰을 위해서는 하나의 행만을 필요로 할 때도 있다. 하지만 실제로 갖고 있는 정보를 통해 여러 가지 관측을 내릴 수 있다. 웹스터는 일례로 미국 건보개혁법안의 가격책정 정책에서, 각 연령대(1-20세, 21세, 22세 등)마다 행이 설정되어 있다고 설명했다. 한편 몇몇 시각화 및 분석 툴은 계획/가격 조합에 대한 각각의 행에 대한 조합을 요구하지 다양한 가격에 대한 하나의 행을 요구하지 않는다.



타블로(Tableau) 시각화 소프트웨어는 행 당 여러 개의 데이터포인트가 아닌 하나의 데이터 포인트를 필요로 하는 툴 중 하나다. 따라서 벤더들은 타블로 리셰이퍼 툴(Tableau Reshaper Tool)을 통해 엑셀 최신버전과 호응을 이룰 수 있도록 만들었다. 현재 태블로 웹사이트에서 다운로드 받을 수 있다. 애드인 하나가 엑셀 2010용이라고 밝히고 있지만, 테스트 결과 윈도우 8 PC에 설치된엑셀 2013과도 호환됨을 확인했다.




2014.03.06

고수의 노하우··· 엑셀로 데이터 다루기 '5가지 팁'

Sharon Machlis | Computerworld

데이터 작업이 많은가? 원하는 데이터를 필요한 형식으로 일관되게 얻기 위해 통계 모델을 이용하지는 않을 것이다. 데이터 청소나 포맷을 많이 하는 사람이라면 파이선(Python)이나 오픈리파인(OpenRefine)이나 R과 같은 특별한 툴의 사용에 주목하곤 한다.

하지만 단순히 엑셀 스프레드시트 만으로도 데이터를 강력히 조작할 수 있는 여지가 많다는 점은 잘 모를 것이다. 물론 적절한 공식을 변경할 줄 알아야 한다는 전제조건이 있다.

최근 개최된 2014년 컴퓨터지원 보고 컨퍼런스(Computer Assisted Reporting)에서는, 뉴욕의 신문사인 디지털 퍼스트 미디어(Digital First Media)의 수석 데이터 전문가인 메리조 웹스터가 자신의 엑셀 기술을 공유했다. 웹스터는 “이전에는 왜 이런 것들을 몰랐지?” 라고 말할 수 있는 것 한가지라도 배우길 바란다고 말했다.

날짜 기능(Datefunctions)
팁 1 : 날짜 데이터를 다른 필드로 분리하라


엑셀을 사용하여 연,월,일을 별개의 필드로 분리하려면 =Year(CellWithDate), =MONTH(CellWithDate), 그리고 =DAY(CellWithDate) 등의 공식을 사용할 수 있다. 이러한 방식으로 연월일을 분리하는 것은 마이크로소프트 엑세스에서도 지원 가능하다고 웹스터는 말했다.

또한 엑셀에서 =WEEKDAY(CellWithDate)를 기입함으로써 연월일을 입력했을 때 요일 정보를 얻을 수 있다. 하지만 요일 대신 숫자가 나오므로 유의해야 한다. 예를 들어, 1은 일요일, 2는 월요일 과 같은 식이다.

숫자 대신 요일을 나타내기 위해서는 WEEKDAY 함수의 결과값인 숫자에 포멧 셀(Format cells) > 커스텀(Custom)을 누르고 타입(Type) 텍스트 상자에 ddd를 누르게 되면 알파벳 세 자리로 된 요일 결과를 얻을 수 있으며 dddd를 누르게 되면 전체 요일 날짜를 얻을 수 있다.

팁 2 : 생년월일로 나이를 확인하는 방법

다른 사람의 생년월일 정보를 알 경우, 오늘 기준의 현재 나이를 알 수 있다. =DATEDIF()와 =TODAY()기능을 이용하면 된다. TODAY()는 여러분도 쉽게 유추 가능하듯 오늘의 날짜를 입력해 준다. DATEDIF()는 제시된 두 날짜 사이의 차이를 보여주는데 구체적인 공식은 다음과 같다.

=DATEDIF(Date1, Date2, 측정단위)

따라서 현재의 나이를 알기 위해서는 다음과 같은 공식을 사용하면 된다.

=DATEDIF(CellWithBirthday, TODAY(), “y”)

상기 함수의 “y”부분은 몇 살 인지만 표기할 뿐 나이자료를 반올림하지 않는다.



데이터 재가공(Reshaping data)
팁 3: 한가지 행으로부터 다수의 행을 만드는 법


데이터 상의 포맷이 관찰을 위해서는 하나의 행만을 필요로 할 때도 있다. 하지만 실제로 갖고 있는 정보를 통해 여러 가지 관측을 내릴 수 있다. 웹스터는 일례로 미국 건보개혁법안의 가격책정 정책에서, 각 연령대(1-20세, 21세, 22세 등)마다 행이 설정되어 있다고 설명했다. 한편 몇몇 시각화 및 분석 툴은 계획/가격 조합에 대한 각각의 행에 대한 조합을 요구하지 다양한 가격에 대한 하나의 행을 요구하지 않는다.



타블로(Tableau) 시각화 소프트웨어는 행 당 여러 개의 데이터포인트가 아닌 하나의 데이터 포인트를 필요로 하는 툴 중 하나다. 따라서 벤더들은 타블로 리셰이퍼 툴(Tableau Reshaper Tool)을 통해 엑셀 최신버전과 호응을 이룰 수 있도록 만들었다. 현재 태블로 웹사이트에서 다운로드 받을 수 있다. 애드인 하나가 엑셀 2010용이라고 밝히고 있지만, 테스트 결과 윈도우 8 PC에 설치된엑셀 2013과도 호환됨을 확인했다.


X