728x90

이번에 알아볼 함수는 OFFSET 함수입니다.

주로 자동화 처리나 차트 그릴때 유용하게 사용하는 함수라고 하는데 아직 챠트 그리는 것까지 해보지는 않았습니다.

 

OFFSET 함수의 의미가 뭔지 살펴보겠습니다.



 

 

이것만 봐서는 무슨 의미인지 이해가 잘 안되시죠?

 



B5 셀에 함수 내용이 위 그림과 같다고 합시다.

어떤 의미인지 분석해보면....

기준점은 B2 셀이구요. 1 은 행을 의미한다고 했죠? 현재 파란색이 있는 행은 0, 한행 아래행은 1 로 이해를 하시면 됩니다.

기준점과 동일한 행이면 0 이고 0부터 숫자를 카운트하여 아래로 이동하거나 위로 이동한다.

열의 값이 2로 되어 있죠? 기준셀을 기준으로 해서 0, 1, 2, 3 이렇게 숫자를 카운트 하시면 됩니다.

높이와 너비는 Option 인데요

 



높이와 너비가 있을 경우에는 SUM 을 해주지 않으면 에러가 발생합니다.

=OFFSET(B2,1,2)는 단순하게 이동된 지점의 셀값을 의미하지만 높이와 너비가 있는 경우에는  

=OFFSET(B2,1,2,2,3) 으로만 표기를 하면 에러가 발생합니다.

 



 

위 그림은 행의 이동을 직접 숫자로 기입하지 않고 상대적인 값을 이용하고자 셀을 지정했네요.

이동할 행과 열에 값이 직접 들어가면 행과 열의 숫자를 대입해보고 어느정도 기준점이 이동하는지를 파악해야 합니다.

 



위 그림은 높이는 1로 두고 너비를 가변으로 변하도록 만들어서 SUM을 하도록 만든 경우입니다.

OFFSET 함수 조건식을 어떻게 주느냐에 따라 다양한 형태를 만들어 낼 수가 있습니다. 

 

다양한 함수식과 결합하여 원하는 결과를 반환할 수 있답니다.

VLOOKUP 함수를 적용해도 되고 COUNTA 등 다양한 함수와 결합하여 원하는 결과를 얻을 수 있습니다. 

 

OFFSET 의 기능을 VBA 에서 유용하게 사용되더군요.

사실 먼저 자동 매크로를 이용하여 원하는 작업을 해보고 나서 단순 반복을 줄이기 위해서 FOR NEXT 문, IF문을 사용하고 액셀 객체를 연결해서 작업을 하도록 만들 때 상대적인 개념은 매우 유용하게 사용되더군요.

블로그 이미지

Link2Me

,