BLOG ESPERANCA

MS 엑셀 상대참조 절대참조 본문

Program/etc

MS 엑셀 상대참조 절대참조

yobuce 2008. 5. 25. 20:32

엑셀에서 다음과 같은 표 계산을 한다고 할 때, 총점(합계)를 구하는 것은 SUM() 함수를 사용하면 된다. 즉 F3 셀에 =SUM(B3:E3)를 입력하면 네 과목의 합계 점수를 구할 수 있다.
(입력하는 방법은 여러 가지가 있으나, 주제에 충실하기 위해서 생략... 각자 터득해 나가길....)
여기에서 B3~E3 영역(아래 파란 테두리 영역)을 참조영역이라고 한다. 즉 각 과목의 점수를 참조(반영)하여 총점을 산출한다는 의미가 된다. 한 사람의 총점(합계)을 구하는데..복잡한(?) 수식을 사용하였는데, 그럼 다른 사람도 모두 이렇게 입력하여 주어야 할까?

사용자 삽입 이미지

천만에, 그렇다면 엑셀이 아니다. 엑셀(사용자)의 철학이 있다.
그 첫 번째가 "단순, 반복 작업은 하지 않는다."이다.
따라서 복사 기능을 이용하면 쉽게 같은 작업을 한꺼번에 완성할 수 있다. 즉 아래 그림처럼...채우기 핸들을 이용하여 드래그 하거나 채우기 핸들을 더블클릭하면 된다. 아주 편리하다.
(채우기핸들 : 선택된 셀(범위)를 표시하는 검고 두꺼운 영역 표시 박스의 우측 하단의 작은 검정 네모)
사용자 삽입 이미지

그런데 해 놓고 보니...F3에서부터 F6까지 각 셀의 수식은 다르지 않은가? 당연히 달라져야지..그래야 사람별 총점이 구해지니까... 일반적으로 주소를 참조해서 계산하는 수식의 경우 대개는 이처럼 참조영역도 바뀌어야 바른 결과를 도출해낼 수 있다.
이런 경우를 바로 상대참조라고 한다. 다시 말해서 수식을 복사하면 수식이 참조하는 주소가 형편에 맞게 적절히 바뀌는 형태를 상대참조라고 한다.

그렇다면 수식을 복사할 때 주소가 항상 이렇게 바뀌는 것만 필요할까? 그렇지 않다. 안 바뀌는 형태도 필요하다.

아래처럼 순위를 구하는 수식을 알아보자. 순위를 구하는 함수는 RANK()함수이다. 즉, RANK(숫자,참조범위,순위타입) 형태로 사용된다. 이 중에서 숫자는 순위를 구하고자 하는 값이며, 참조 범위는 순위를 구하는 집단의 범위이고, 타입은 오름차순이냐 내림차순이냐를 결정한다.)

사용자 삽입 이미지

아시겠지만, 현재 학생의 점수(총점)가 순위를 구하고자 하는 숫자이고, 순위를 구하고자 하는 범주에 드는 학생들의 총점 집합(위 그림에서 F3:F6 영역)이 참조 범위이다....즉 네 명 중 각각 몇 등인가를 구하는 것이다.

위 합계를 구하는 경우와 마찬가지로 순위를 구하는 수식(더욱 복잡?)도 일일이 입력할 수는 없고(엑셀 철학에 반하니) 복사를 하여 사용해야겠는데....복사를 하면 주소가 바뀌는데, 이번 순위를 구하는 수식 중 범위에 해당하는 영역(F3:F6)은 바뀌면 안되지 않는가? 이럴 경우에 사용하는 형태가 바로 절대참조라는 개념이다.
수식을 복사하더라도 참조영역은 변하지 않는 형식이 바로 절대참조라는 것이다.

사용자 삽입 이미지

절대참조를 입력하는 방법은 수식 입력 줄에 입력된 상태(또는 범위 지정된 상태)에서 F4 키를 눌러 주면 상대참조형식과 절대참조 형식이 번갈아 가면서 바뀐다.
즉 주소 앞에 $표시가 붙어있는 경우는 고정되는(절대) 주소 정보가 되는 것이다.
한 번 시도해 보시라...그러면...어!이상하네...단순히 두 가지가 형태가 아니고..네 가지 형태로 변하는 것을 볼 수가 있을 것이다.
각각의 모양과 특성은 다음과 같다.
F3:F6   ---------  F4를 누르기 전   (상대주소)
$F$3:$F$6 ------  F4를 한 번 눌렀을 때 (완전 절대 주소)
F$3:F$6 --------  F4를 두 번 눌렀을 때 (행만 고정)
$F3:$F6 --------  F4를 세 번 눌렀을 때 (열만 고정)
F3:F6   ---------  F4를 네 번 누르면, 다시 본래 형태로...

뭐 이리 복잡해? 라고 생각하실지 모르지만...아래 그림을 보시라..충분히 그럴 만 한 이유가 있는 것이다.

사용자 삽입 이미지

가로, 세로 값이 각각 그림과 같은 4각형의 면적을 구한다고 할 때, 수식을 한 번만 입력하고 전체를 복사해서 사용하려면 어떻게 해야 할까? 즉 부분적인 절대(상대)참조 형식이 사용되어야 하는 것이다.
사용자 삽입 이미지

계산해야 할 대상이 몇 개가 안될 경우는 단순, 반복작업을 좀 한들 어떠하리...
그렇지만, 현실이 어디 그리 녹록한가? 수천, 수만 건을 계산해야할 경우...이런 절대주소, 상대주소 개념이 없다면...참으로 힘든 단순반복노동(?)을 해야 할 것이다.
아무쪼록 여러 분의 엑셀 실력 향상에 많은 보탬이 되었으면 하는 바램이다. 그럼.