[ 엑셀VBA 2 ] 불량관리 프로그램 만들기 - 절대참조 , 상대참조 엑셀VBA 이야기2014. 12. 1. 17:22
[ 엑셀VBA 2 ] 불량관리 프로그램 만들기 - 절대참조 , 상대참조
엑셀VBA 두번째 시간 절대참조와 상대참조를 알아보기로 한다. 절대참조와 상대참조를 절대주소, 상대
주소라고도 부르는 데 이것은 데이터 계산을 편하게 적용하기 위해 사용되는 방법이다.
절대참조의 경우 바뀌지 않는 주소라고 할 수 있고, 이 경우 정해진 셀이나 범위의 데이터로 부터 계
산혹은 적용되는 것을 의미한다.
이와 반대로 상대참조의 경우 바뀌는 주소라고 할 수 있고, 고정되지 않은 셀이나 범위의 데이터로 부터 계산 혹은 적용되는 것을 의미한다.
SUM함수를 이용하여 각 시험차수별로 자동합계를 구한 상대참조의 예를 살펴보자
3과목를 5회씩 시험친 결과를 차수별로 합계를 구하고자 할때,
먼저 1차 국,영,수의 합계를 B2:D2 범위지정을 통해 SUM함수를 이용하여 구한다.
그리고, 1차합계 셀의 모서리 드래그를 통해 5차까지 자동합계를 구한다.
위 수식을 보면 각 합계 수식의 범위가 차수별로 변하여 계산된 것을 알 수 있다.
즉, 각 차수별로 2,3,4,5,6열이 각각의 범위로 합계가 된 것이다.
이처럼 수식에 아무런 절대참조없이 범위만 지정하여 자동합계를 구한 경우
상대적으로 계산되는 범위가 자동으로 변하는 것을 볼 수있다.
이것이 상대참조이며, 주로 열과 행의 다른 범위의 수식계산에 자주 쓰인다.
두번째로는 전체평균 대비 각 과목의 편차를 구할때 절대참조와 상대참조가 어떻게
쓰이는 지 보기로 한다.
우선 A9란에 전체 평균을 구한다음,
B열에 A9의 전체 평균값에서 국어의 5회 평균값을 빼어 편차를 구하는 수식이다.
특이한 점은 $A9으로 표시된 부분이다
$는 절대참조를 의미하며 $A의 의미는 A열을 자동 드래그를 하더라도
바뀌지 않는 다는 것을 의미한다.
즉, $A9의 의미는 A9행에서 아래로는 계산이 진행되지 않기 때문에 행은 변하지 않으므로
적용이 필요없어 절대참조($)를 적용하지 않았고
열의 경우 A가 전체평균으로 각 과목 편차 계산시 기준값이 되므로
절대참조($A)를 주어 범위를 고정했음을 알 수 있다.
전체평균(절대참조A열) - 각과목의 평균(상대참조)이므로
=$A9-AVERAGE(B2:B6)으로 표현된다.
B8을 우측으로 수학까지 드래그 하면 아래와 같은 수식이 완성된다.
위의 각 수식을 보면 $A9은 드래그시 고정이 되고,
각 과목의 평균은 드래그시 평균의 범위가 변하는 것을 알 수 있다.
즉, 절대참조와 상대참조가 조합된 똑똑한 수식임을 알수 있다.
불량율관리 프로그램 만들기 시리즈
'엑셀VBA 이야기' 카테고리의 다른 글
[ 엑셀VBA ] 엑셀 VBA 변수의 정의 - option explicit , 변수 (1) | 2014.12.02 |
---|---|
[ 엑셀VBA 3 ] 불량관리 프로그램 만들기 - 조건절 IF (0) | 2014.12.02 |
[ 엑셀VBA ] 박재영의 엑셀강좌 링크 (0) | 2014.11.30 |
[ 엑셀VBA 1 ] 불량관리 프로그램 만들기 - 매크로의 이해 (0) | 2014.11.30 |
[ 엑셀VBA ] 엑셀 VBA 로 mdb 파일 만들기 (0) | 2014.11.30 |