이전 엑셀 강좌에서 동적인 셀을 참조하기 위한 INDIRECT 함수에 대해서 알아보았었다.
관련글 ☞ 엑셀 함수 22 - INDIRECT 함수 (동적인 셀 참조하기) by Y
이번에는 INDIRECT 함수처럼 동적인 셀을 참조할 수 있는 또다른 참조 함수 OFFSET 함수에 대해 알아보자.
OFFSET(참조, 행, 열, [높이], [너비])
참조 영역에서 행과 열만큼 떨어진 위치의 참조 영역을 돌려주는 함수다.
참조는 셀 주소이고, 행/열/높이/너비는 숫자이거나 숫자가 입력된 셀이다.
행/열 - 행은 아래로, 열은 오른쪽으로 지정된 숫자(행/열)만큼 떨어진 위치의 참조 영역을 돌려주게 된다.
높이/너비 - 참조 영역의 높이(행 수)와 너비(열 수)를 지정할 수 있다.
OFFSET 함수의 행/열이란??
아래와 같이 데이터가 입력되어 있을 때
'=OFFSET(B2,2,0)' 식을 입력하면
B2 셀에서 행이 2번 이동된 셀인 B4셀이 식의 결과가 된다.
'=OFFSET(B2,0,3)' 식은 B2 셀에서 열이 3번 이동된 셀인
E2 셀이 결과로 출력된다.
'=OFFSET(B2,4,2)' 식은 B2 셀에서 행이 4, 열이 2만큼 떨어진 위치인
D6 셀이 결과로 출력된다.
OFFSET 함수의 높이/너비란?
'=OFFSET(C2,0,0,3,1)' 식은 C2 셀에서부터
높이(행)이 3칸, 너비(열)이 1칸인 범위를 의미하므로
'C2:C4' 참조 범위를 반환한다.
그러므로 '=SUM(OFFSET(C2,0,0,3,1))' 식은
'=SUM(C2:C4)' 식이 되어 답은 6이 된다.
OFFSET 함수 활용
아래의 표에서 놀이공원의 섹션별로 평균방문자수를 구하고자한다.
이때 지정된 일수만큼만 구하는 식을 OFFSET 함수를 이용하여 두 가지 방식으로 구해보겠다.
예를 들어, 어드벤처는 8월 1일부터 4일까지의 방문자수의 평균만 구해져야한다.
1. =AVERAGE(C2:OFFSET(C3,C12-1,0))
'OFFSET(C3,C12-1,0)' 식은 'OFFSET(C3,4-1,0)' 식과 같다.
즉, C3 셀에서 3(4-1)만큼 아래로 이동한 셀 C6셀이 구해진다.
그럼 결과적으로 '=AVERAGE(C2:C6)'과 같으므로 4개 숫자의 평균이 구해진다.
2. =AVERAGE(OFFSET(C3,0,0,C12,1))
'OFFSET(C3,0,0,C12,1)' 식은 'OFFSET(C3,0,0,4,1)' 식과 같다.
즉, C3 셀에서부터 높이(행)가 4, 너비(열)가 1인 'C3:C6' 범위가 구해진다.
결국 1번의 경우와 마찬가지로 '=AVERAGE(C2:C6)'의 식이 되어 평균이 구해진다.
그리고 식을 오른쪽으로 수식 복사하면 일수(C12:E12) 값이 변함에 따라
각기 다른 일수만큼의 방문자수평균을 구하는 동적인 식이 구해진다.
이처럼 OFFSET 함수를 이용하면 다른 함수와 함께 사용하여 동적인 참조가 가능해진다.
'말랑말랑 컴퓨터 > 엑셀 강좌&팁' 카테고리의 다른 글
컴활2급 실기 도움 파일 모음 (시험시 유의 사항, 함수 총정리 파일, 단축키 모음 파일) by Y (34) | 2014.05.31 |
---|---|
외부 데이터 가져오기 3 (메모장 파일을 엑셀로 가져오기) by Y (4) | 2014.05.30 |
ITQ 자격증 문제 풀이 팁 (ITQ 엑셀, ITQ 파워포인트, ITQ 한글) by Y (3) | 2014.02.12 |
엑셀 이름정의, 이름삭제, 이름 활용 방법 by Y (3) | 2014.01.29 |
엑셀 가상 분석 기능 '시나리오' by Y (8) | 2013.12.18 |
엑셀 가상 분석 기능 '데이터 표' by Y (14) | 2013.11.22 |
[엑셀기초] 모든 셀에 같은 수 더하기/곱하기 (선택하여 붙여넣기 - 연산 기능) by Y (8) | 2013.10.11 |
엑셀 함수 22 - INDIRECT 함수 (동적인 셀 참조하기) by Y (14) | 2013.09.30 |
[엑셀 활용 예제] 데이터 필터링 결과 자동 계산하기 (SUBTOTAL 함수, 매크로, 고급 필터 활용) by Y (12) | 2013.09.26 |
엑셀 함수 21 - TRANSPOSE 함수, 선택하여 붙여넣기 (행/열 바꿈) by Y (0) | 2013.09.09 |