본문 바로가기
카테고리 없음

데이터분석 > 2주차 > 파트 02 > 0822

by 나는야석사 2024. 8. 22.

피벗 테이블 - 기본 사용법

Unique(B:B) 통해 원하는 고객사 열 생성

=SUMIFS(C:C,B:B,L3)

통해 C 열에서 B 열이 L3인 Schultz Inc인 것 선택

=SUMIFS(C:C,B:B,L3,J:J,TRUE)

같은 것

 

모든 셀 선택 후 alt, 삽입, 피벗테이블,테이블/범위에서 클릭

새로운 시트 생성됨

고객사에 따른 청구액에 해당하는 피벗 테이블

필터로는 청구 상태

피벗 테이블 - 여러 개의 필드를 각각의 항목으로 지정하는 방법

필터로 청구상태를 넣었는데 영업담당자도 넣을 수 있음

필터가 2개!

행에 고객사 이외에 다른 것도 넣을 수 있음

거래 시트에서 열의 이름을 대륙으로 바꿨으므로 피벗 테이블에서 새로고침 해줘야 함

대상 상태 -> 대륙

넣는 위치가 중요함

 

대륙 옆에는 고객사들의 청구액의 합계 금액이 나옴

 

피벗 테이블 각 영역에 둘 이상의 값을 넣을 수 있음! 필터, 열, 행, 값 모두 있음

필터와 값은 순서가 상관없지만 행 같은 경우에는 요약 정보가 나오기 때문에 순서에 따라 내용이 바뀜

피벗 테이블 - 데이터 오류 발생 시 수정하는 방법

하나의 값 오류로 인해서 여러 데이터에 오류가 날 경우 수정하는 방법

=ISERROR(F102)

필터 걸고 TRUE인 경우 보면 입금일에 ERROR가 남

#VALUE!

=IFERROR(F2,"")

ERROR 나면 공백으로 해라

근데 아래와 같이 나옴

F열이 입금일(날짜)이긴 하지만 서식이 숫자이기 때문이다.

복사 붙여넣기 -> 선택하여 붙여넣기 -> 서식

우클릭 -> 셀 서식 -> 날짜해도 같은 값이 나옴

피벗 테이블 - 유용한 기능들 알아보기

열에도 넣기

어떤 열을 삭제하고 싶다면 우클릭 후 서비스구분 부분 합 클릭

클릭해서 열 삭제하고 필터 변경하는 방법도 좋음

필터를 드래그 해서 하면 행이나 필터 중 하나 밖에 할 수 없기 때문에 행에 필드를 놓고 필터에도 그 열을 사용하고 싶다면 클릭으로!

 

피벗 테이블 구성하는 특정 데이터가 어떻게 추출된 것 인지 궁금할때 사용하는 방법 -> 해당 셀을 더블클릭

그때그때 시트를 지워줘야 한다는 거추장스러움이 있음

 

Product7의 값에 더하기 500 한걸 알고 싶을 때, 클릭하고 방향키 움직일 경우 영역이 range로 잡히지 않고 피벗데이터라는 함수로 자동으로 적용됨

그 수식을 복붙해 아래에 넣었을 때 절대참조처럼 같은 값만 나오게 됨

GETPIVOTDATA("청구액($)",$A$3,"고객사","Blick Inc","서비스구분","Unit3","상품","Product7","대륙","Europe")

이걸 다 지우고 그냥 

=H7*1300

이걸 하면 상대참조처럼 값이 잘 나옴

정규표현식 - 숫자 형식 지정하기

엑셀 파일을 구글 시트로 불러들이면 됨

정규표현식 사용 시 구글시트로 불러들이고 다시 엑셀로 다운하면 됨

 

구글시트에서 REGEXEXTRACT(텍스트, 정규표현식)

 

숫자에 표현하는 정규표현식 => \d

0이 나오는데, 이유는 \d가 숫자를 나타내는 정규표현식이기 때문에 첫 숫자 하나만 찾아주었음

내가 원하는 것은 010-1234-5678의 전화번호 형태임

여러 개의 숫자를 표현하는 형태를 알아야 하는데, \d+를 하면 010이 나옴

정규표현식에서 +는 하나 또는 그 이상 연속해서 나오는 것을 찾으라는 것임

그 뒤에는 내가 원하는 것!

\d+-\d+-\d+

정규표현식 - 전화번호 형식 지정하기

01\d-\d{4}-\d{4}

01로 시작하고 그 뒤에 숫자 하나, 그 다음 -, 그 다음 숫자 네 자리{4} 두 개 반복

 

이러면 010-1234-5678의 형태만 읽어옴!!!

 

있을 수도 있고 없을 수도 있는 경우!

대시(-)가 없는 전화번호의 경우 : 01012345678

01\d-?\d{4}-?\d{4}

물음표는 앞에 있는 것들이 있을 수도 있고 없을수도 있다는 것을 의미함

물음표 앞에 있는 것이 있을 수도 있고 없을 수도 있다는 것을 의미 -> -가 있을수도, 없을수도 있다는 것을 의미

 

옛날 전화번호 경우 : 011-123-4567

가운데가 세개일수도 있고 네개일수도 있는 경우

01\d-?\d{3,4}-?\d{4}

두 가지 모두 일 경우 중괄호 안에 콤마로 구분해서 지정해주면 됨

정규표현식 - 문자열 형식 지정하기

\w+

알파벳, 숫자, _

_ 이외의 특수문자는 잘림

\s+

공백을 나타냄

=regexextract 함수로는 별 쓸모가 없음

REGEXREPLACE 함수 사용

=REGEXREPLACE(A11,"\s+", " ")

A11 셀의 내용을 가져와서, 여러 개의 공백을 가져와서, 공백 하나로 바꿈

 

 

[가-힣] : 모든 한글을 나타냄

하나 이상 이어진 것들을 가져옴

정규표현식 - 자동차 번호판 형식 지정하기(1)

숫자 3개 오고 한글 1개, 숫자 4개

\d{3}[가-힣]\d{4}

\d{3}\s?[가-힣]\s?\d{4}
# 공백여부 고려해서, 공백이 있을수도 없을수도 있는 모든 경우에 대해 대비

정규표현식 - 자동차 번호판 형식 지정하기(2)

원하는 내용만 가져오려면 괄호를 사용해야 함

=REGEXREPLACE(A30,A27, "###")

A30에 있는 내용을 A27 정규표현식을 참조해 ###으로 바꿈

이걸로 자동차 번호판 부분 추출

=find("###",D31)

D31 셀에 해당하는 내용에서 60번째에 ###이 있음

=len(A30)-len(D31)+3

#이 3개이므로 마지막에 3을 더해주면

 

len(A30)-len(D31) -> 얼마만큼 ###을 했는지 알 수 있음

###의 길이가 3이므로 +3 해주면 전체 번호판의 길이가 12인걸 알 수 있음

 

MID 함수 이용해 문자열의 원본에서 번호판이 시작되는 위치인 60번째에서 12개의 글자를 가져오는 방법

=mid(A30,E31,E32)

원본에서, 번호판이 시작되는 위치인 60번째에서, 12개의 글자 가져오기

>>> 번호판!

 

피벗테이블 연습.xlsx
0.21MB
피벗테이블 유용한 기능.xlsx
0.22MB
정규표현식.xlsx
0.01MB