본문 바로가기

4. Do, and Don't!

[Don't] 당신의 엑셀이 계속 오류가 나는 이유 (1/3)

[회사에서 흔히 엑셀로 일을하는 순서]

1. 고민해본다. 어떤 함수를 써야하지? 어떻게 만들어야 하지?

2. 구글에서, 네이버에서 이것 저것 찾아보고 적용해본다.

3. 매크로를 쓰면 된다는 이야기도 있어서, 어디서 코드를 가져와서 Alt + F11을 눌러서 코드를 붙여넣는다.

4. 그렇게 몇시간/며칠의 작업 끝에 만족스러운 결과물을 얻고, 행복하게 퇴근한다.

5. 자랑도 좀 해본다. 여러가지 함수도 넣고 로직도 고민해보았으니, 프로그래머까지는 아니더라도 데이터 전문가? 정도는 되지 않을까?

(심지어 우리 회사에는 나보다 못하는 사람이 천지인데!)

 

......

 

그렇게 1달 뒤, 똑같은 내용을, 새로운 데이터로 업데이트를 해야한다.

자신만만하게 데이터를 집어넣으면, 그 결과는?

온갖 오류천국이다!  (#NAME!, #N/A!, #VALUE!, #REF!)

 

 

무엇이 문제인가? 왜 당신의 엑셀은 오류가 날 수 밖에 없는가?

 

 

첫번째, 당신은 참조범위를 고려하지 않았다.

 - VLOOKUP을 쓰기 위해서 필요한 데이터가 어디있는가?

 - 피벗테이블이나, 차트를 만들 때 필요한 데이터는 어디있는가?

바로 데이터의 참조범위이다.

 

1. VLOOKUP을 예로 들면,

아래와 같이 사과를 찾기위해 과일표를 범위로 입력한다.

사과의 수량을 찾으려면, VLOOKUP을 쓴다.
사과 수량은 100개. 찾아준다.

그런데, 다음에 수박이 추가되면?

새로 추가된 수박은 VLOOKUP범위에 없다!
그러니 에러가 날 수 밖에...

 

2. 피벗테이블이나 차트도 마찬가지다.

심지어 이쪽은 더 큰 문제인데, 오류를 뱉어내지 않기 때문이다.

못보고 지나가면, 잘못된 결과를 보고 있을 수도 있는 것이다.

 - 4개의 합계를 구해야하는데, 3개만 구해다주면? 잘못된 결과를 보게된다!

합치면 1,000개인데, 왜 합계는 600개로 나올까?
피벗테이블을 만들고, 원본에 수박을 추가해보라. 자동으로 찾아주지 않는다.

 

3. 그럼 어떻게 하라는거지?

두 가지 대안이 있다.

1) 함수와 참조범위를 자주 점검해라.

 - 어쩔 수 없다. 당신이 업데이트를 할 때마다 이 내용들을 매번 검사해야한다.

 - VLOOKUP의 참조범위는 올바른지,

 - 차트나 피벗테이블의 원본범위는 더 늘어나거나 줄어들었는지 확인해라.

 

2) 표 기능을 사용하라.

이 모든 오류를 막아줄 수 있는 핵심 기능이다.

표를 사용하면, 이러한 오류를 아주 손쉽게 해결할 수 있게된다.

"표"의 강력한 기능

https://mwoe.tistory.com/88

 

[Do] 엑셀의 "표" 기능을 써라!

엑셀에 "표"라는 기능이 별도로 있다는 사실... 여러분은 알고 있었는가? 알고 있었다 하더라도, 그냥 서식만 이쁘게 바꿔주는 기능이라고 알고 있지는 않았는가? 지금부터 "표"의 강력한 기능에 대해 얘기하고자..

mwoe.tistory.com

 

4. 표 기능을 사용하면 어떻게 바뀔까?

아래 예시를 보자.

$A$1:$B$4로 되어있던 텍스트가 "과일표"라는 이름으로 바뀌었다.

 

참조 범위가 사라지고, 새로운 이름이 하나 생겼다.

이 과일표는 필자가 표를 만들면서 생성된 이름이다.

이 이름은 표의 범위를 그대로 따라가며, (과일표 = A1:B5)

(가장 핵심인 점은) 범위가 자동으로 업데이트 된다!

참외를 추가하려면 그냥 참외를 새롭게 입력만 하면 되며,

참외의 범위를 다시 지정할 필요 없이 "과일표"라는 이름이 그 범위까지 알아서 인식해주는 것이다.

참외를 추가해도 수식은 그대로!

이러한 원리는 차트에도 그대로 적용이 되며, 이것이 참조의 문제를 해결하는 가장 간편하고 확실한 방법이다.

차트에도 표 이름을 원본범위로 넣어주면, 차트범위가 고장날 일이 전혀 없다. 항상 업데이트가 되므로.

 

다음 시간에는, 다른 형태의 오류 원인을 살펴보자.

https://mwoe.tistory.com/89

불러오는 중입니다...