설찬범의 파라다이스
글쓰기와 닥터후, 엑셀, 통계학, 무료프로그램 배우기를 좋아하는 청년백수의 블로그
엑셀 (67)
3화. 엑셀 텍스트 불러오기
반응형




와, 바람!





끝이 없을 것 같은 폭염도 끝났네

물론 햇볕은 아직 짱짱하지만

폭염에 비하면 냉장고나 마찬가지지.



30도가 넘는 날씨만 겪다가

조금 더운 날씨가 되니

오히려 쌀쌀한 걸.





이런 날일수록 감기를 조심해야지.






할머니, 저승도 계절과 날씨가 있나요?






딱히 있지는 않아.

사계절과 날씨는 변화의 일종.

살아있어야 변화도 겪는 법이란다.





그런가요?






뭐, 요즘 죽은 사람들은 심심해서

수영장이랑 스키장을 지어달라고

염라대왕께 요청하는 모양이다만.






'저승에 스포츠시설을 지으면

구급요원은 필요 없을지도...'








그나저나 민수야.

오늘은 아주 쉬운 엑셀 기술을

들고 왔단다.





그게 뭐죠?






바로 불러오기 기능이지.






불러오기는 저도 할 줄 아는데요.






엑셀에서 엑셀 파일은

아무나 불러올 수 있어요.



하지만 메모장 텍스트 파일이라면 어떨까?






텍스트 파일을 엑셀에요?

음, 어디서 들어본 것 같기도 하고.






예를 들어 실험실에서 자료를 입력해야 하는데

그곳 컴퓨터에 엑셀이 없다고 가정해 보자.



시간은 촉박해서 설치할 시간은 없어.

그럴 땐 메모장에 자료를 적고

나중에 엑셀로 불러와야겠지.





일리가 있네요.

근데 메모장에는 셀이 없는데요.

엑셀은 이걸 어떻게 구분하죠?






크게 세 방법이 있지.


첫째는 띄어쓰기.

둘째는 쉼표.

셋째는 탭(tab)키란다.







어? 전 이런 걸 상상했어요.



칸마다 위치를 같게 맞추면

인식이 쉬울 줄 알았는데...





물론 그 방법도 된다.

그걸 넷째로 하자꾸나.




파일 - 열기를 누르고

파일 형식을 '텍스트 파일'로 정하면

텍스트를 불러올 수 있단다.


* 가능한 확장자는

txt, prn, csv입니다.





* 데이터 - 외부 데이터 가져오기도

기능은 똑같습니다.





텍스트 파일을 선택하면

텍스트 마법사가 나타나는데

세 단계를 거쳐야 한다.






마법사... 세 단계를 거쳐야...



판타지 소설 같네요.







첫 단계는 분리를 선택하는 거다.




쉼표, 탭, 띄어쓰기로 구분하면

'구분 기호'를,

아까 너처럼 똑같은 위치에 놔뒀으면

'너비가 일정함'을 고르렴






2단계는 구분 기호를 고르는 거란다.

정확히 무엇으로 구분했는지 선택하렴.




밑에 구분 미리보기가 나오니까

보면서 고를 수 있단다.





1단계에서 '너비가 일정함'을 골랐으면요?





그럼 2단계에서 구분선 위치를 정한단다.

웬만하면 엑셀이 잘 정하지만,

잘못되었으면 바로잡으렴





마지막 3단계는 데이터 서식을 정한단다.

텍스트가 숫자인지 문자인지 날짜인지...

나중에 정해도 되겠지만

지금 정해두면 편리하겠지.






이 모든 과정을 끝내면

자료가 새 엑셀파일로 나타난단다.





* 데이터 - 외부 데이터 가져오기를 쓰면

3단계 이후 불러올 위치를 고를 수 있습니다.






좋아요, 할머니.

이번에도 엑셀 지식이 확 늘었어요!

반응형

'엑셀 > 엑셀 할머니 시즌 2' 카테고리의 다른 글

2화. 그림으로 그래프 그리기  (0) 2018.08.01
1화. 엑셀 별점 만들기  (0) 2018.07.04
  Comments,     Trackbacks
2화. 그림으로 그래프 그리기
반응형





아.. 덥다.

겨울엔 추워서 고생, 여름엔 더워서 고생.

단군이 터를 잘못 잡아도 한참 잘못 잡았네.

홍익인간이 설마 더워서 벌게진 사람인가?





컴퓨터 방은 들어가기도 싫다.

발열이 왜 이리 심한 거야?

한증막이 따로 없다니까...





으악! 할머니!

여기서 뭐 하세요?





심심해서 왔지.





그러고 보니 할머니.

영혼은 어디든 갈 수 있지 않나요?





원하는 곳은 아무데나 갈 수 있지.





그럼 외국도 가 보셨나요?





물론이지.

일본, 베트남, 호주, 러시아...





여행도 여행이지만

산 사람이 못 가는 곳도 가 보셨어요?

세계적인 미스터리를 풀 수 있을 텐데요.





버뮤다 삼각지대, 체르노빌.

백악관 지하에 정말 비밀기지가 있는지

남미 어딘가에 있는 마야 도시를 찾고..





아! 혹시 우주도 갈 수 있나요?

화성에 생명체를 찾으면 참 좋을 텐데...





...너한텐 이 할미가 수색대원으로 보이는구나.





쓸데없는 호기심은 그냥 접고

엑셀 비법이나 하나 배우렴.





오늘은 뭔가요?





엑셀 막대그래프(차트)를 보면

막대 색을 정할 수 있지?





네, 처음 만들면 늘 파란색이죠.









이걸 그림으로 대신 만들고 싶지 않니?

이렇게 말이다.






오. 그래프 축이 하트모양이 됐어요.

멋진걸요.





만드는 방법을 바로 알려주마

우선 넣을 그림이 필요하겠지?





여기 하트 그림 있어요.





좋다. 그래프를 하나 만들어라.





여기요.








축을 한 번 누르면

모든 축이 전부 선택된다.





오른쪽 마우스를 클릭해

'데이터 계열 서식'을 누르면

오른쪽에 서식메뉴가 나타나지.





왼쪽 '채우기 및 선'을 눌러

채우기 - 그림 또는 질감 채우기를 누르렴





'다음에서 그림 삽입' 밑에 있는

'파일'을 눌러 불러오고 싶은 그림을 불러오면 된단다.





어? 그림이 세로로 늘어났는데요?





밑에서 '늘이기' 대신 '쌓기'를 누르면

우리가 원하는 그래프가 나온단다.






음. 쉽네요.

그래프 축이 그림이면 확실히 보는 재미가 있겠죠?



반응형

'엑셀 > 엑셀 할머니 시즌 2' 카테고리의 다른 글

3화. 엑셀 텍스트 불러오기  (0) 2018.08.17
1화. 엑셀 별점 만들기  (0) 2018.07.04
  Comments,     Trackbacks
엑셀 할머니 시즌 1
반응형

  어떻게 하면 엑셀을 쉽게 설명할 수 있을까 고민했습니다. 떠오른 해답은 '대화체'였죠. 교과서처럼 늘어놓기보다는 한 사람이 설명하고 다른 사람이 질문하며 이해하는 식이 좋다고 생각했습니다. 엑셀 할머니는 그런 아이디어로 태어났습니다.


  왜 돌아가신 증조할머니를 떠올렸는지는 모르겠습니다. 약간의 블랙 코미디라고 보시면 될 것 같습니다. 엑셀이 뭔지도 모르고 살다 간 사람이 현재 젊은 사람보다 엑셀을 더 많이 안다? 거기에 저승에 있는 사람이라면 이런저런 이야기를 꺼내기 좋을 겁니다.


  좋은 글도 있고, 나쁜 글도 있습니다. 조금씩 고쳐나갈 생각입니다.




1화 - 상대참조와 절대참조

2화 - 평균내기

3화 - 가중평균

4화 - 기하평균과 평균성장률(+조화평균)

5화 - 최빈값과 중앙값

6화 - 반올림, 배수로 반올림

7화 - 행과 열 바꾸기

8화 - 분산과 표준편차

9화 - 요일 표시하기

10화 - PDF파일을 엑셀로 변환하기

11화 - 체크박스 만들기

12화 - 드롭다운 단추(목록만들기)

13화 - 엑셀 부가세를 구해보자

14화 - 엑셀 고급필터

15화 - 엑셀 FREQUENCY 함수

16화 - 엑셀암호 걸기

17화 - OFFSET 함수와 응용

18화 - 엑셀 FIND함수와 응용

19화 - 엑셀 사진 삽입하기

20화 - 엑셀 ROW와 COLUMN으로 셀 주소 알아내기

21화 - 엑셀 만나이 계산하기

22화 - 엑셀 함수 만들기

23화 - 엑셀 가나다순 정렬

24화 - 엑셀 로그

25화 - 엑셀 목표값 찾기

26화 - 스파크라인이란?

27화 - 엑셀 스파크라인 만들기


외전 1화 - WEEKDAY 함수(+CHOOSE)

외전 2화 - 엑셀 할인율

외전 3화 - 엑셀 vlookup 함수(+index, match)

외전 4화 - 엑셀 CONCATENATE 함수


반응형
  Comments,     Trackbacks
엑셀 VBA 레시피 - 시작하기
반응형






  안녕하세요. 나는 Gustave Alvarado다. 프랑스 식당 주인이다. 사람들 물어본다 왜 내 성씨 스페인인가. 내 할아버지는 마드리드에서 왔다. 그는 요리 매우 잘 했다. 할머니 그가 프랑스에서 만난 채식주의자였다. 할아버지가 그녀를 고기 먹게 만들었다 뛰어난 요리 실력으로. 나도 그처럼 되고 싶다.





  사람들은 나한테 요리 어떻게 하는지 물어본다. 난 서점 가서 사라고 말한다. 음식을 만드는 것 그리고 요리하는 법 가르치기 다르다. 너들은 기초에서 배워야 한다. F1 운전자 찾아가서 물어보지 말아라 면허 얻기 전에. 다행히 나는 엑셀 잘하지 않는다 내 요리하는 만큼. 그런 이유로 여러분을 가르침이 가능하다. 지금 우리는 동업자다 그러므로 불러라 나를 Gustave라고.






  나는 조금 한국인 여기서 만난다. 한국 관광객들은 항상 말한다 취업하기가 어렵다. 지난번에 만난 소녀 대학에서 철학 수강해 왔다. 교양으로 풍부한 여자 그러나 직업 얻지 못했다. 그녀는 표정을 찌그러뜨렸다 말하며 "마이크로스프트 엑셀 배운 사람이 나보다 사회에 더 쓸모있다." 나는 그녀 불쌍히 생각한다. 하지만 철학은 똑똑한 것인데 어떻게 그녀는 예상하지 못했는가 철학이 직업을 주지 않는 것?







  진짜 기술은 인생에 중요하다. 여러분은 그걸 배워야 한다. 먹고사는 것 한 가지 실력만으로, 아주 큰 실력 필요하다. 당신은 세계적이어야 할 것이다. 만약 아니라면 당신은 여러 가지 배워야 한다. 엑셀이 그들 중 한 명이다. 많은 경영자들 내 식당에 방문하는 불평한다 엑셀 배우면 많은 편함 찾을 수 있다.







  당신은 서점에 갈 수 있다 그리고 많은 엑셀책들 찾는다. 초보를 위함, 회사를 위함, 그냥 취미를 위함... 무엇이든 당신이 보는 것, 그들은 각자 주제를 가진다. 그러므로 나도 하나 가진다. 내 테마는 VBA다. 내가 친구에게 물어볼 때, 그들은 손을 저었다. "VBA는 프로그래밍 사람만을 위한다." 그러나 나는 VBA 멋있음을 발견했다. 요리와 달리, 괜찮다 엑셀 망치는 것. 재료를 낭비하지 않는다. 누가 식중독 발병하지 않는다(네가 아니 회사에서 보고서 쓸 때).






  학습은 재밌다. 학습은 살기 위한 힘을 준다. 음식은 시간이 갈수록 부패한다, 그러나 지식은 반대로 숙성한다 마치 와인처럼. 그래서 배워보자 같이. 엑셀 미공부의 결과물들아.








  VBA는 Visual Basic for Application를 위해 선다. Visual Basic은 컴퓨터를 위한 말이다. 당신이 영화 볼 때 매트릭스처럼, 많은 0과 1이 보인다. 그것이 어떻게 컴퓨터가 일하는지다. 그러나 0과 1만 쓰는 것 너무 복잡하다. 여러 컴퓨터 전문가들이 컴퓨터 언어 만들었다. 그걸 사용함, 더 편하게 일한다. Visual Basic이 그중 하나다. Application은 쉽다. 휴대폰을 집어라. 당신은 휴대폰에 있는 프로그램을 본다. 요즘 아이들은 그걸 부른다 App이라고. 안전하다 Application을 App이라고 보는 것.






  우리는 Excel을 공부하기 때문, Application은 Excel을 의미한다. 그래서 VBA는 Excel을 위한 컴퓨터 말이다. 무슨 뜻인가?






  당신은 식당에 가서 메뉴를 든다. 하나를 고른다. 시킨다. 종종 추가 주문한다. '덜 익힘 원한다.' '양파를 더 넣어라.'. 내 식당에 만족하지 않으면(난 노력한다 이것이 불가능하다) 당신은 요리를 배우고 직접 요리한다. 메뉴에 없는 밥을 만든다.






  Excel 거대한 기능 가진다. 함수들, 그래프들... 그러나 가끔 당신은 못마땅하다 Excel 것들. 그것이 시작이다 당신이 VBA를 작동하는. VBA는 자유로운 Excel이다. 함수를 만들어라, 기능 사용해라 제공하지 않는. 버튼을 누르고 셀을 정렬한다? 새 창을 띄워 자료를 넣어라? 가능하다 VBA 안에서는!






  아무튼 나는 Excel 2016년과 일한다. 단축키는 Alt + F11이다. 화면 위에 개발 도구 누르고 왼쪽에 있는 Visual Basic 클릭도 가능하다. 만약 개발 도구 없으면 파일 - 옵션 - 리본 사용자 지정 들어가라. 개발 도구 네모에 체크하고 확인 누른다.






  VBA에 들어가면 많은 메뉴 있다. 놀라지 말아야 한다. 우리는 조금만 건드릴 것이다. 삽입 - 모듈을 누른다. 흰 화면이 생긴다. 당신은 여기에 글씨를 쓸 수 있다. 물론, 알맞은 단어를 넣어야 한다. 컴퓨터 나라에 온다면, 컴퓨터 말 써라!


  다음 시간에 나는 조금 기초적인 VBA 해볼 것이다. 좋은 운!

반응형
  Comments,     Trackbacks
1화. 엑셀 별점 만들기
반응형





. 방학이다.

날은 더워지고, 몸에 힘은 빠지고.

 


그러고 보니 엑셀 활용법을 가르쳐 주시던

증조할머니도 안 오시네.

많이 바쁘신가?

 


노느라 바쁘다. 노느라.



 

깜짝이야!

할머니! 어디 계셨어요!

 


당연히 저승에 있었지.

더워서 나도 쉬다가 왔다.

 


저승에서도 휴가를 가나요?

(아니, 죽어도 더위를 느끼나?)

 


그럼 종일 뭐 하니?

귀신은 잠도 안 자는데.


 

어디로 가나요?




 


남들 가는 대로 가지.

산과 바다와 별장으로.

이승 사람들 마주치기 싫어서

조용하고 외딴곳이 인기란다.

 


(그래서 폐가와 폐건물에

귀신 목격담이 많은 걸지도.)


 

아직도 엑셀이 고민이니?


 

아뇨. 방학인걸요.

올해는 휴학하면서 이것저것 경험하려고요.




좋다.

안 그래도 엑셀공부를

조금 달리할 생각이었다.


 

달리한다니 어떻게요?



 

복잡한 기능보다는

멋있고 재밌는 기능 위주로

가르치고 싶었다.

 


엑셀이 멋있으면 얼마나 멋있다고요.

 


예끼! 요즘은 멋있어야 사는 시대야.

할머니 어렸을 때는 가난해서

일만 해내면 쓸만한 사람이라 했어요.



 

일은 잘하는 게 맞죠.

 


세상은 다투어서 이기는 곳.

남보다 잘하지 못하면

아무리 잘해도 진 것과 다름없어.

 


(으으)좋아요.

오늘은 뭘 배우죠?

 


민수는 별점이라고 들어 봤지?

 


별점이요?

영화잡지 같은 곳에서

영화에 점수를 매길 때 쓰는 방식 아닌가요?


 


주로 별 넷이나 다섯을 만점으로

영화 등급을 매기죠.

 


그래.

미슐랭 가이드는 식당을 별 셋 만점으로 표현하지.

 


영화와 레스토랑에 쓰는 별점이

엑셀과 무슨 상관이죠?

 


오늘은 말이다.

엑셀을 써서

점수를 별점으로 바꾸는 방법을

알아보자꾸나.

 


점수를 별점으로 바꾸기



 

별은 모두 열 개,

점수만큼 검은 별

나머지는 하얀 별을 넣자.

 


10점은 별 하나.

20점은 별 둘.

이렇게요?

 


그래.

1의 자리는 버리자꾸나.

예를 들어,

55점은 별 다섯을 쓰는 거다.

 


10의 자리만 보자는 건데.

점수를 10으로 나누고

소수를 버리기만 한다면.

 




엑셀에는

QUOTIENT 함수가 있단다.


QUOTIENT

나눗셈 몫의 정수부분만 반환하는 함수

=QUOTIENT(숫자, 나눌 수)


EX> QUOTIENT(17, 4) → 4

(17÷4 = 4.25이므로)

 


10으로 나눠 정수만 남길 수 있겠네요.

555,

797이 되겠죠.

 


좋아.

그럼 그 수만큼 별을 써야겠지?



 


문자를 바라는 대로

쓰는 함수는 없나요?

 


REPT함수가 그 주인공이다.


REPT

문자는 횟수만큼 반복해 쓰는 함수

=REPT(문자, 횟수)


EX> REPT("가", 5) → 가가가가가

 


좋아요.

검은 별은 아까 구한 수대로 쓰고

흰 별은 10에서 그 수를 빼서 쓰면 되겠죠?




 

두 문자열을 붙이는 함수는

CONCATENATE란다.


CONCATENATE

여러 문자열을 합치는 함수

=CONCATENATE(문자열, 문자열 …)


EX> =CONCATENATE("토","마","토") → 토마토

 


좋아요. 완성했어요!

 




=CONCATENATE(REPT("", QUOTIENT(셀 주소,10)), REPT("", 10-QUOTIENT(셀 주소,10)))

 

참고. 별표는 ‘ㅁ’을 누르고 한자를 눌러서 불러옵니다.

 




완벽하네요!

 

 

 

별 다섯이 만점인 별점은

10 대신 20으로 나누고

흰 별은 5에서 빼면 되겠지.

반응형

'엑셀 > 엑셀 할머니 시즌 2' 카테고리의 다른 글

3화. 엑셀 텍스트 불러오기  (0) 2018.08.17
2화. 그림으로 그래프 그리기  (0) 2018.08.01
  Comments,     Trackbacks
하루 30분) 엑셀 고급필터
반응형




  고급 필터는 자료를 조건에 맞게 걸러내는 기능입니다. 원래 표에서 원하는 부분만 남길 수도 있고 다른 곳에 표를 다시 만들 수도 있습니다. 원하는 부분만 남기면 나머지는 사라지지 않고 생략됩니다. 이번 포스팅은 다른 곳에 표를 만들어 보겠습니다.

 

  고급 필터 쓰는 법 간단하게



1) 조건식을 빈 곳에 쓴다.

2) 데이터 리본 - [정렬 및 필터] - [고급]을 누른다.

3) 목록 범위는 자료로 정한다.

4) 조건 범위는 1에서 쓴 조건식으로 정한다.

5) 바라는 곳을 복사 위치로 한다.

(‘다른 장소에 복사를 선택했다면)

6) 확인을 누른다.

(자세한 건 예제와 함께)



 

주의. 목록 범위는 자료 제목도 들어가야 합니다.

 


조건식 쓰는 법 - 간단하게



1) 조건을 가리는 항목을 쓴다.

2) 그 밑에 조건을 쓴다.

3)

(자세한 건 예제와 함께)



시작하기 전에 예제파일 받아가세요!


하루 30분 고급필터.xlsx




우리만의 약속



첫째. 예제 파일로 한 번씩 예제 연습하기

둘째. 아리송하면 복습하기

셋째. 부담 없이 잔잔히 즐기기



* 이 포스팅은 엑셀2016을 기반으로 썼습니다.




예제 1) ‘중간고사50 이상인 행을 표시할 것



중간고사

>=50

 


 

예제 2) ‘성별이 여자인 행을 표시할 것




성별

여자



 

 

조건이 여럿일 때



여러 조건이 있다면 AND인지 OR인지 잘 판단해야 합니다.

 

AND : 여러 조건을 동시에 만족해야 함

OR : 여러 조건 중 하나라도 만족하면 됨

 

성별이 여자고 점수가 50점 이상은 여자와 50점 이상을 모두 만족해야 하므로 AND입니다. ‘성별이 여자거나 점수가 50점 이상은 둘 중 하나만 만족하면 조건에 맞으므로 OR입니다.

 

외우자. AND는 같은 줄에 OR은 다른 줄에!

 




예제 3) ‘성별이 남자고 나이50 이하인 행을 표시할 것




성별 나이

남자 <=50



 


예제 4) ‘성별이 남자거나 나이50 이하인 행을 표시할 것



      성별    나이

남자  

              <=50



 

 

원하는 열만 나타내고 싶을 때



바라는 제목들을 입력하고 복사 위치로 지정한다.

 


예제 5) ‘중간고사70점 이상인 행을 이름, 나이, 등록일만 표시할 것



① 미리 원하는 항목을 써둔다



② '복사 위치'를 이 항목들로 한다.





 

예제 6) ‘이름가 들어가는 행만 표시할 것



조건

=FIND("", B3)>=1



 

이름이 아니라 조건이죠?

  고급 필터 조건에 함수나 계산값을 쓰고 싶으면 원본 자료에 없는 제목을 쓰거나 비워야 합니다!

 



참고. 제목을 비워도 조건 범위는 빈칸까지 넣어야 합니다.

 

 

예제 7) ‘등록일7월인 행을 표시할 것



조건

=MONTH(E3)=7



 

 

예제 8) ‘등록일2월이거나 10월인 행을 표시할 것



                           조건 1                     조건 2

=MONTH(E3)=2

                                                              =MONTH(E3)=10

 


 

예제 9) ‘등록일의 일이 10 미만인 행을 표시할 것



조건

=DAY(E3)<10

 


 

예제 10) ‘성별이 남자가 아닌 행을 표시할 것



~가 아닌 조건은 <>가 좋습니다.

 

성별

<>남자

 


 

예제 11) ‘기말고사기말고사평균 이상인 행을 표시할 것


조건

=H3>AVERAGE($H$3:$H$22)

 





 

예제 12) ‘중간고사’, ‘기말고사가 전부 70 이상인 행을 표시할 것



 

첫 번째 방법

중간고사  기말고사

>=70    >=70

 

두 번째 방법

COUNTIF 함수는 조건에 맞는 수를 구하는 함수입니다.

70 이상을 만족하는 점수가 둘인 행을 찾게 합시다.

 

조건

=COUNTIF(G3:H3, ">=70")=2





예제 13) ‘기말고사중간고사보다 높은 행을 표시할 것



조건

=G3<H3

 


 

예제 14) ‘회원번호세 번째 글자가 6 이상인 행을 표시할 것



 

조건

=MID(F3, 3, 1)*1>=6

 



참고. LEFT, MID, RIGHT 함수는 글자를 텍스트로 빼내는 함수입니다. 텍스트를 숫자로 바꾸기 위해 *1을 해줍니다.

 


예제 15) ‘기말고사상위 5등을 표시할 것



LARGE 함수를 응용합니다.

LARGE는 범위에서 ~번째로 큰 값을 반환합니다.

 

조건

=H3>=LARGE($H$3:$H$22, 5)

 



참고. LARGE 함수의 반대는 SMALL입니다.

SMALL은 범위에서 ~번째로 작은 값을 반환합니다.

 

 

여러 조건 한 셀에 쓰기



여러 조건은 나누어 써야 쉽지만, 시험에서 한 줄, 한 셀에 다 쓰라고 시키는 때도 있습니다. 이땐 ANDOR 함수를 써야 합니다.

 



예제 16) ‘성별이 여자고 중간고사30점 미만인 행을 표시할 것(조건은 셀 하나에 쓸 것)




조건

=AND(C3="여자", G3<30)

 



예제 17) ‘나이30 미만이거나 50 초과면서, '중간고사''기말고사'가 모두 80 이하인 행을 표시할 것(조건은 셀 하나에 쓸 것)



조건

=AND(OR(D3<30,D3>50),AND(G3<=80,H3<=80))

 



참고. 조건이 복잡할수록 큰 틀부터 짜맞춥시다.

반응형

'엑셀 > 하루 30분 엑셀카페' 카테고리의 다른 글

하루 30분) 엑셀 조건부 서식  (1) 2018.07.02
  Comments,     Trackbacks
하루 30분) 엑셀 조건부 서식
반응형



  수많은 자료 중에서 원하는 자료만 색을 바꾸거나 굵은 글씨로 만들 수 있다면 얼마나 좋을까요. 한눈에 들어와서 보기도 좋고 쓰기도 좋을 겁니다. 엑셀 조건부 서식은 실용성도 좋지만 컴활 자격증 시험에서 물어보기도 하니 꼭 알아둬야 하겠죠.

 

  엑셀은 이미 여러 조건부 서식을 지원합니다. ~보다 높은 숫자나 상위 몇 퍼센트를 강조하는 식이죠. 기본 내용은 예전 포스트에서도 설명했으니 이번엔 수식을 직접 입력해서 조건부 서식 고수가 되어 봅시다.

 


시작하기 전에 예제 파일 받아가세요!


조건부서식-엑셀카페.xlsx




우리만의 약속


첫째. 예제 파일로 한 번씩 예제 연습하기

둘째. 아리송하면 복습하기

셋째. 부담 없이 잔잔히 즐기기



* 이 포스팅은 엑셀2016을 기반으로 썼습니다.

* 밑 조건식을 그대로 붙여넣기 하면 작동하지 않았습니다. 까닭은 모르지만 참고만 하시고 손수 쓰시기 바랍니다.

 



범위 정하기



  조건부 서식 규칙을 만들기 전에 조건을 적용할 셀들을 지정합니다.

드래그로 범위를 정합니다.

 



주의. 제목 셀은 범위에 넣지 않습니다!

 


조건부 서식 시작하기




  범위를 정하고 홈 리본에 있는 [조건부 서식]을 클릭합니다.

[새 규칙]을 누르고 수식을 사용하여 서식을 적용할 셀 결정을 누릅니다.




  밑에 입력창이 하나 생깁니다. 이곳에 규칙을 입력합니다.


  '서식'에서는 규칙에 맞는 셀에 어떤 서식을 줄지 정합니다. 이번 포스트에서는 전부 하늘색으로 셀을 칠하겠습니다.



 

 



예제 1) 나이가 50세 이상인 사람의 행을 칠할 것



=($D3>=50)





주의. 규칙을 입력할 때 방향키를 누르면 셀 주소가 나타납니다. 입력 커서는 마우스로만 움직입시다!

 

 




예제 2) 남자인 행만 칠할 것



=($C3="남자")



 

참고. C열이 남자가 아닌 행은 조건식이 뭘까요? <>를 씁니다.


=($C3<>"남자")

 


 

예제 3) 회원번호 첫 글자가 A인 사람의 행을 칠할 것



엑셀 LEFT 함수는 셀 텍스트를 왼쪽부터 추출하는 함수입니다.

(LEFT 함수의 첫 인수는 셀 주소둘째 인수는 추출할 글자 수입니다)

 

=(LEFT($F3,1)="a")





참고. 셀 텍스트를 오른쪽부터 추출하는 함수는 뭘까요?

, 맞습니다. RIGHT 함수입니다.

 

 

예제 4) 회원번호 두 번째 글자가 5 이상인 행을 칠할 것



  셀 텍스트를 중간부터 추출하는 함수는 MID입니다.


MID(셀 주소, 추출을 시작할 글자, 추출할 글자 수)

(이 경우에는 셀 주소, 2, 1이겠죠)

 

=(MID($F3, 2, 1)*1>=5)



 

잠깐! ‘*1’이 있죠?

  LEFT, MID RIGHT 함수는 셀 글자를 텍스트로 추출하는 함수입니다. 아무리 숫자를 빼냈어도 텍스트 상태기 때문에 다른 숫자와 비교할 수가 없습니다. 따라서 *1을 해서 숫자로 바꿔야 제대로 서식이 적용됩니다.

 

 

예제 6) 행 번호가 짝수/홀수인 행을 칠할 것



행 번호를 반환하는 함수는 ROW입니다.

ISEVEN 함수는 인수가 짝수면 TRUE를 반환하고

ISODD 함수는 인수가 홀수면 TRUE를 반환합니다.

 

행 번호가 짝수인 행을 칠할 땐

=ISEVEN(ROW())

행 번호가 홀수인 행을 칠할 땐

=ISODD(ROW())



 

참고. 열 번호를 반환하는 함수는 COLUMN입니다.

 

 

예제 7) 행 번호가 3의 배수인 행을 칠할 것



MOD 는 나눗셈 후 나머지를 구하는 함수입니다.

3으로 나누어 나머지가 0이면 3의 배수겠죠?

 

=MOD(ROW(), 3)=0



 




예제 8) 등록일이 8월인 행을 칠할 것



  날짜에서 달수를 추출하는 함수는 MONTH입니다.

 

=MONTH($E3)=8



 

예제 9) 등록 날짜가 15일 이상인 행을 칠할 것



날짜에서 날짜를 추출하는 함수는 DAY입니다.

 

=DAY($E3)>=15



 

 

예제 10) 점수가 상위 10등인 행을 칠할 것



LARGE 함수는 범위에서 ~등인 값을 반환합니다. 이 함수를 응용합시다.

 

=$G3>=LARGE($G$3:$G$22,10)

해석 : 점수 범위에서 10등인 값 이상인 점수 행을 색칠





예제 11) 점수가 평균보다 높은 행을 칠할 것



평균을 구하는 함수는 AVERAGE입니다.

 

=$G3>AVERAGE($G$3:$G$22)



 


예제 12) 여자면서 나이가 40세 이상인 행을 칠할 것



이제 조건이 두 가지입니다.

두 조건을 만족하는 조건부 서식을 쓰는 법은 둘입니다.

 

첫째, AND 함수 이용

둘째, * 이용

 

=AND($C3="여자", $D3>=40)

=($C3="여자")*($D3>=40)



 

참고. AND 함수는 두 조건이 모두 맞을 때만 TRUE를 반환합니다.

 

참고. *AND처럼 TRUE*TRUE일 때만 TRUE를 반환합니다.

반응형

'엑셀 > 하루 30분 엑셀카페' 카테고리의 다른 글

하루 30분) 엑셀 고급필터  (0) 2018.07.03
  Comments,     Trackbacks
엑셀로 통계하기 25 - 이동평균법, 지수평활법
반응형




  통계하는 가장 큰 이유는 예측이 아닐까요. 누구든 미래를 알고 싶습니다. 다음 분기 매출을 알고 싶고 내일 주가를 알고 싶고 부동산 시세를 알고 싶고, 내일 비가 올지 안 올지를 알고 싶습니다.

 

  회귀분석처럼 변수 사이 관계를 밝혀내서 미래를 예측하기도 하지만, 지금까지 변수가 변하는 과정을 토대로 미래를 예측하기도 합니다. 시계열(Time series) 분석은 과거 자료의 행태를 분석해 미래를 예측하는 분석방법입니다.

 

  오늘은 이중 단순이동평균법, 가중 이동평균법, 지수평활법을 알아봅시다.

 

 

단순이동평균법




  단순이동평균법(Simple Moving Average)은 아주 쉽습니다. 한 문장으로 말하자면 내일 수치는 최근 며칠 수치의 평균이다입니다. 즉 최근 데이터의 평균으로 다음 데이터를 예측하는 것이죠.



 

  미래를 예측하기 전에 지금까지 모은 자료로 단순이동평균법을 실행합니다. 왜 이미 있는 자료까지 예측할까요? 어느 정도까지 평균을 낼지, n을 정해야 하기 때문입니다.



 

  n은 얼마로 해야 좋을까요? 너무 최근 값만 반영하면 특이치에 휘둘립니다. 너무 오랜 값까지 반영하면 최근 추세가 묻힐 수 있습니다. n을 바꿔 가면서 원래 그래프와 제일 비슷한 그래프를 만드는 n을 골라야 하겠죠.



 

  아니면 수치로 재 볼까요? 정확도를 재는 수치로는 평균절대편차(Mean Absolute Deviation, MAD)평균제곱오차(Mean Squared Error, MSE)가 있습니다. 엑셀로 통계하기를 봐 오셨다면 MSE는 익숙하시겠죠. MAD는 오차를 제곱하는 대신 절댓값을 구한 편차입니다. 정확도를 나타내는 수치, 특히 MSE가 최소가 되는 n을 정하는 것도 방법입니다.



 

 

엑셀에서 이동평균법 하기



1) AVERAGE 함수 이용하기




AVERAGE 함수에 원하는 기간 만큼 과거 자료를 넣습니다. 드래그해 자동으로 밑 셀을 채우면 과거 자료로 평균을 구할 수 있습니다.

 (원하면 옆에 MADMSE를 계산해도 좋습니다.)

 



2) 데이터 분석 도구



  [데이터 분석]에 들어가 [이동 평균법]을 고릅니다.


 


  원본 데이터를 선택하고(‘첫째 행 이름표 사용을 선택하면 제목을 포함해 선택 가능합니다.) 구간을 씁니다. 구간이 바로 n입니다. 결과를 낼 셀 범위를 선택합니다.

 

 

가중 이동평균법



  평균에는 그냥 자료 수로 나누는 평균도 있지만(속된 말로 n) 조금 고급스러운(?) 평균도 있습니다. 가중평균은 자료마다 다른 가중치를 두어 평균을 냅니다. 일반적 평균은 모든 자료 가중치가 1입니다. 이 숫자를 바꾸면 가중평균이 됩니다. 예를 들어 신뢰도가 더 높은 자료나 더 최신 자료라면 가중치를 높여서 평균에 주는 영향을 키울 수 있습니다.

 

  가중 이동평균법(Weighted Moving Average)은 이동평균법을 가중평균으로 시행합니다. 최근 자료에 가중치를 더 준다면 최근 수치를 더 많이 반영하겠죠.



 

 

엑셀에서 가중 이동평균법 하기



 

n과 가중치를 정한 다음에(가중치는 전부 합해 1이어야 합니다) 함수로 계산합니다. 행렬을 곱하는 SUMPRODUCT 함수를 추천합니다.

 


 

엑셀에서 가중치 찾기




 

  MSE가 최소가 되는 가중치를 찾고 싶다면 방법이 하나 있습니다.

[파일] - [옵션]에서 추가 기능 중에 해 찾기 추가 기능이 있습니다. 원하는 셀이 원하는 값이 되는 해를 찾는다는 점에선 목표값 찾기와 비슷합니다.



  해 찾기 기능을 쓰기 전에 MSE를 계산해 놓습니다. 





  목표 설정 : MSE가 나올 셀을 고릅니다.

  대상 : 우린 MSE가 최소이길 원하니까 '최소'를 고릅니다.

  변수 셀 변경 : 가중치를 쓴 셀 범위입니다.

  제한 조건에 종속 : '추가'를 눌러 규칙을 추가합니다. 가중치는 0 이상 1 이하고 가중치 총합은 1입니다. 사진에 보이는 대로 입력합니다.





지수평활법



  지수평활법(Exponential Smoothing)의 개념은 이렇습니다.

 

  ‘내일 수치는 일정 비율은 오늘 값, 일정 비율은 오늘 예측값을 합친 것이다.’



 

  이 일정 비율은 그리스 문자 α로 나타냅니다. 이동평균법의 n이나 가중 이동평균법의 가중치처럼 현재 자료를 가장 잘 재현하는 α를 찾아야겠죠.

 

 


엑셀에서 지수평활법 하기




 

  [데이터 분석] - [지수 평활법]에 들어갑니다. 입력범위에 자료를 넣습니다.

(감쇠 인수는 1-α입니다)

 

  엑셀 지수평활법은 지금 자료를 재현하는 기능만 지원합니다. 원하는 α를 구하셨다면 직접 수식을 입력해 미래 수치를 예측해야 합니다.


  지금까지 보신 지수평활법은 단순지수평활법입니다. 이중지수평활법, 삼중지수평활법(계절지수평활법)은 단순지수평활법과 달리 자료의 추세나 계절성을 반영합니다.

반응형
  Comments,     Trackbacks
엑셀로 통계하기 24 - 다중회귀분석
반응형



  단순선형회귀분석은 독립변수 하나와 종속변수 하나의 관계를 알아내려는 회귀분석이었습니다. 세상은 알다시피 그보다는 복잡하죠. 여러 원인이 모여서 결과를 만듭니다. 독립변수가 여럿인 회귀분석은 이제 단순하지 않습니다. 독립변수가 둘 이상인 회귀분석은 다중회귀분석(Multiple regression analysis)입니다.



 

  단순선형회귀를 하던 모험을 떠올려 봅시다. 먼저 회귀모형을 만들었습니다. 오차항은 기댓값이 0인 정규분포였죠. 여기에 기댓값을 씌워 E(y)를 구하는 회귀식을 만듭니다. 이 회귀식은 모집단을 알아야 만들 수 있어서, 표본밖에 없는 우리는 하릴없이 추정회귀식으로 회귀식을 추정했습니다.


  다중회귀분석도 과정은 같습니다. 오차항이 있는 다중회귀모형(Multiple regression model). y의 기댓값을 구하는 다중회귀식(Multiple regression equation). 표본으로 추정한 추정 다중회귀식(Estimated multiple regression equation).

 

 

 

이번에도 최소제곱법


  

  그럼 추정 다중회귀식에서 b는 어떻게 구할까요? 여러 방법이 있지만 최소제곱법(최소자승법)이 일반적입니다. 단순선형회귀는 최소제곱법으로 구하는 y절편과 x기울기 공식이 있어서 구하기 쉽습니다. 다중회귀분석은 독립변수가 여럿이라 구하기가 어렵습니다. 독립변수가 셋만 되어도 사람 손으로는 불가능할 정도죠. 훗날 다중회귀 최소제곱법을 포스팅할지도 모르겠네요.

 

 

엑셀로 다중회귀식 구하기




[데이터 분석] - [회귀분석]에 들어갑니다.

 


  방법은 단순선형회귀분석과 같습니다. ‘X축 입력 범위에 여러 열 범위를 입력하면 됩니다.

 

 

다중결정계수


  

  단순선형회귀에서 모든 추정값을 y의 평균으로 추정한 영희가 있었습니다. 영희의 오차는 회귀식과 영희의 격차와 회귀식의 오차의 합입니다. 총제곱합은 회귀제곱합과 오차제곱합의 합이죠.(단순선형회귀 1 참고)

 


SST = SSR + SSE


 

  SST에서 SSR이 차지하는 비율을 결정계수라고 불렀습니다. 결정계수의 최댓값은 1이고 결정계수가 높을수록 추정회귀식이 적합하다고 간주합니다.

 

  다중회귀분석도 결정계수는 똑같습니다. 다만 다중결정계수(Multiple coefficient of determination)라고 불릴 뿐입니다.

 


 

조정 다중결정계수




  그런데 결정계수가 늘 적합성을 잘 반영하지는 않습니다. 예를 들어 기말고사 점수가 종속변수고 공부 시간이 독립변수인 자료가 있습니다. 여기에 두 번째 독립변수로 아무 숫자나 무작위로 넣습니다. 엑셀 난수 생성 함수 RAND를 이용합니다.


 

  분명 기말고사 점수와 아무 상관이 없는 무작위 숫자를 넣었는데도 다중결정계수가 상승합니다. 독립변수가 늘어나면 통계적으로 유의하지 않아도 결정계수가 올라갈 수 있습니다. 이걸 고려한 결정계수가 바로 조정 다중결정계수(Adjusted multiple coefficient of determination)입니다.


p : 독립변수의 수


 

 

엑셀에서 다중결정계수 구하기




 

[데이터 분석] - [회귀분석]을 실시하면 결정계수와 조정된 결정계수가 나옵니다.

 

 

 

유의성 검정




  다중회귀분석도 유의성을 검정합니다. 검정법에는 F검정과 t검정이 있다고 배웠습니다. 단순선형회귀는 F검정과 t검정 결과가 똑같습니다. 다중회귀분석은 두 검정 결과가 다릅니다. 애초에 목적과 대상이 다릅니다.

 

  F검정은 독립변수 집합과 종속변수가 유의한 관계인지 검정합니다(전반적 유의성 검정). t검정은 각 독립변수가 종속변수와 유의한지 검정합니다(개별적 유의성 검정). F검정은 자료 당 한 번이고 t검정은 독립변수 수만큼 결과가 나옵니다.

 

 

F검정



 

  1) 귀무가설과 대립가설을 세우고 유의수준을 정합니다.

 

  2) 평균제곱회귀(MSR)을 구합니다. SSR을 독립변수 수로 나눈 값입니다.

 

  3) 평균제곱오차(MSE)를 구합니다. SSEn-p-1로 나눈 값입니다.

 

  4) MSR/MSE=F비를 구합니다.

 

  5) 자유도가 p, n-p-1F분포에서 F비 오른쪽 날개의 면적을 구합니다. 날개 면적이 p값이고, p값이 유의수준보다 낮으면 귀무가설을 기각합니다.

 

 

t검정



 

  1) 한 독립변수에 대한 귀무가설과 대립가설을 세우고 유의수준을 정합니다.

 

  2) 그 독립변수의 표준오차를 구합니다. MSE의 제곱근입니다.

 

  3) 검정통계량 t값을 구합니다. 계수를 표준오차로 나눈 값입니다.

 

  4) 자유도가 n-p-1t분포에서 t값보다 절댓값이 큰 양날개의 면적이 p값입니다. p값이 유의수준보다 낮으면 귀무가설을 기각합니다.



단순선형회귀(2) 참고

 

 

엑셀에서 다중회귀분석 F검정,t검정 하기




 

  [데이터 분석] - [회귀분석]에서 유의수준을 입력하고 시행하면 결과에서 F검정 p값과 독립변수별 t검정 p값을 볼 수 있습니다.


 

다중공선성



  회귀분석은 독립변수와 회귀변수 사이 관계를 알아냅니다. 그런데 독립변수 사이에도 관계가 있을 수 있습니다. 예를 들어 종속변수가 택배 배송 비용, 독립변수가 배송 거리와 연료비인 회귀분석이 있다고 합시다. 배송 거리가 멀수록 연료비는 자연히 상승합니다. 배송 거리와 연료비는 강한 상관관계가 있습니다.

 

  상관관계가 강하다면 굳이 독립변수를 추가할 필요가 없습니다. 배송 거리를 알면 연료비도 알 텐데 연료비를 독립변수로 추가해 봐야 얼마나 더 정확해질까요.

 

  게다가 상관성이 강한 독립변수가 추가되면 한 독립변수가 종속변수에 미치는 영향을 따로 떼어 구분하기 어렵습니다. t검정을 해서 한 독립변수의 계수가 0이라는 귀무가설을 기각하지 못하게 되었다고 생각해 봅시다. 물론 이 독립변수가 종속변수와 무관해서 귀무가설이 기각되지 않았을 수 있습니다. 그러나 이 독립변수와 상관성이 강한 다른 독립변수 때문일 수도 있습니다.

 

  이렇게 독립변수 사이 상관관계에 따른 문제를 다중공선성(Multicollinearity)라고 부릅니다.



 

  그럼 다중공선성은 어떻게 알아낼까요. 두 변수 사이 상관성을 구하는 법으로 상관계수가 있습니다. 공분산을 각자의 표준편차로 나눈 값입니다. 이 상관계수 절댓값이 0.7을 넘으면 다중공선성이 잠재적 문제라고 판단하는 기준이 있습니다.

반응형
  Comments,     Trackbacks
엑셀로 통계하기 23 - 잔차분석
반응형




단순선형회귀 (1)

단순선형회귀 (2)


  회귀추정식을 아무리 잘 만들어도, 자료가 완벽한 직선분포가 아닌 이상 오차는 생기기 마련입니다. 관측값과 추정값의 차이를 잔차(Residual)라고 하죠. 잔차는 어찌 보면 회귀모형 속 오차항 역할을 한다고 볼 수 있습니다.

 

  자료 속 독립변수마다 잔차가 있습니다. 이걸 그래프로 그린 걸 잔차플롯(Residual plot)이라고 합니다. 지난 시간 학생의 공부 시간과 시험 점수를 회귀분석한 자료에서 잔차를 구했습니다. 잔차 플롯을 그리는 법은 다음과 같습니다.

 


엑셀에서 잔차플롯 그리기



 

1) 잔차 직접 계산해 차트로 만들기



먼저 회귀식을 구한 다음 x를 대입해 추정값을 구합니다.

 


관측값에 추정값을 빼서 잔차를 구합니다.




[삽입] - [차트] - [분산형]으로 분산형 차트를 만듭니다.




차트를 오른쪽 마우스로 클릭하고 [데이터 선택]을 누릅니다.





범례 항목에서 추가를 누르고 계열 x값을 독립변수, 계열 y값을 잔차 범위로 선택하고 확인을 누릅니다.




 

2) 엑셀 [데이터 분석]에서 회귀분석하면서 만들기

 


[데이터 분석] - [회귀분석]에서 잔차’, ‘잔차도에 체크하면

회귀분석을 하면서 자동으로 잔차를 계산하고 잔차플롯을 그립니다.




 

  회귀분석에 들어가면서 오차항은 기댓값이 0인 정규분포를 따르고 오차항의 분산을 x에 상관없이 같다고 가정했습니다. 따라서 잔차 절댓값이 지나치게 크거나, x값에 따라 잔차 분포가 변한다면 회귀모형의 가정을 위배하게 됩니다. 잔차 정규성 검정법은 훗날 다른 게시물에서 다룰지도 모르겠습니다.

 

 

표준화잔차


  정규분포를 따르는 자료는 더 쉽게 이해하기 위해 표준정규분포 z값으로 변환하기도 합니다. 평균을 빼서 표준편차로 나누는 것이죠. 마찬가지로 잔차도 표준편차로 나누어 표준화합니다. 이것을 표준화 잔차(Standardized residual, 표준잔차)이라고 합니다. 표준화 잔차는 잔차를 무단위로 바꾸기도 하고, 잔차 분포를 더 이해하기 쉽게 만들어줍니다.

 

  오차항이 정규분포라면 표준화 잔차는 표준정규분포를 나타냅니다. 표준정규분포에서는 z2에서 2 사이일 때 자료의 약 95%가 들어갑니다. 여러분의 자료에서 표준화 잔차의 절댓값이 2를 넘는다면 그 잔차에 해당하는 관찰값은 꽤 튀어나온 값일 겁니다.

 


엑셀에서 표준화잔차 구하기




  [데이터 분석] - [회귀분석]에서 표준 잔차에 체크하면 자동으로 x값에 따른 표준화 잔차가 결과에 나타납니다.

 

 



이상값


 

  확 튀는 값은 이상값(Outlier, 특이치, 이상치)이라고 합니다. ‘아웃라이어라는 영어 단어가 더 익숙할지도 모르겠습니다. 한때 아웃라이어라는 책이 인기였죠. 대학 신입생 시절 교수가 추천해서 읽었습니다. 대체로 표준화 잔차의 절댓값이 2를 초과하는 관측값은 이상값으로 취급합니다.

 

  이상값은 왜 생길까요? 값을 잘못 관측했는지도 모릅니다. 실험기기가 잠시 맛이 갔거나 실험자가 56을 헷갈렸을 수도 있죠. 설문조사라면 조사대상이 아무 숫자나 써넣었을 가능성도 있습니다. 아니면 회귀분석 모형이 잘못되었을지도 모르죠. 어쩌면 우연일지도 모릅니다. 표준화 잔차의 95%2에서 2 사이니까 반대로 말하면 5%는 범위 밖이니까요.

반응형
  Comments,     Trackbacks