엑셀의 ADDRESS 함수는 행과 열의 번호를 이용하여 셀 주소를 표시해 줍니다. 셀주소 자체만으로는 쓸 일이 별로 없기 때문에 ADDRESS 함수는 단독으로는 잘 사용되지 않고 INDIRECT 함수 등과 조합해서 많이 사용됩니다.
구문(Syntax)
ADDRESS(row_num, column_num, [abs_num], [a1], [sheet_text])
행과 열의 번호를 이용하여 셀주소를 표시한다.
인수 :
- row_num : 행번호
- column_num : 열번호
- abs_num : 반환되는 참조유형(생략가능)
1 또는 생략 : 절대행,절대열
2 : 절대행,상대열
3 : 상대행,절대열
4 : 상대행,상대열 - a1 : 참조스타일(생략가능)
0 : R1C1 스타일
1 : A1 스타일 - sheet_text : 워크시트 이름(생략가능)
사용 예
1) 셀 주소 표시하기
=ADDRESS(1,1) => $A$1 (1행 1열을 절대참조 형식으로 셀주소 표시)
=ADDRESS(1,1,1) => $A$1 (1행 1열을 절대참조 형식으로 셀주소 표시)
=ADDRESS(1,1,2) => A$1 (1행 1열을 절대행,상대열 형식으로 셀주소 표시)
=ADDRESS(1,1,3) => $A1 (1행 1열을 상대행,절대열 형식으로 셀주소 표시)
=ADDRESS(1,1,4) => A1 (1행 1열을 상대행,상대열 형식으로 셀주소 표시)
=ADDRESS(4,2,1,1) => $B$4 (4행 2열을 절대참조 A1 형식으로 셀주소 표시)
=ADDRESS(4,2,1,0) => R4C2 (4행 2열을 절대참조,R1C1 형식으로 셀주소 표시)
=ADDRESS(4,1,1,1,"Sheet2") =>Sheet2!$A$4 (다른 시트의 셀 주소 표시)
2) INDIRECT 함수와 조합해서 사용하기
이번에는 ADDRESS 함수와 INDIRECT 함수를 조합해서 셀에 있는 값을 표시해 보겠습니다.
[B4] 셀에 입력된 값 '고양이'를 표시하려면 다음과 같이 수식을 입력합니다.
=INDIRECT(ADDRESS(4,2))
INDIRECT 함수의 안에 있는 ADDRESS(4,2)가 먼저 실행되어 셀 주소 [$B$4] 가 구해지고 수식은 다음과 같이 바뀝니다.
=INDIRECT($B$4))
INDIRECT 함수는 셀 참조를 값으로 바꿔 주므로 수식은 [$B$4] 셀에 입력된 '고양이'를 가져옵니다.
=INDIRECT($B$4)) => '고양이'
그런데 잠깐 생각해 보면... 위와 같은 복잡한 방법이 아니라 행과 열의 위치를 알면 다음과 같이 INDEX 함수를 사용해서 값을 가져올 수도 있습니다.
=INDEX(A1:B7,4,2) => '고양이'
위 수식을 보면 INDEX 함수는 값을 참조할 범위 [A1:B7]를 지정해 주어야 합니다.
반면에, INDIRECT 함수와 ADDRESS 함수를 조합하면 셀 범위를 지정하지 않고 참조할 행, 열 번호만 지정해 주면 값을 가져올 수 있습니다. 값을 가져와야 하는데 참조할 범위 지정은 불가능하고 행과 열만 지정할 수 있는 상황에서 사용하면 유용합니다.
관련 글
=address(특정 셀 클릭) 하면
셀 주소가 표기 되게하는 방버이 없습니까?
CELL함수를 사용하세요. =CELL("address",A1)과 같이 하시면 됩니다.
감사합니다만
안되네요
=cell("sddreaa" 까지만 입력하면 계속해서 빠져 나옵니다
원하시는 방법을 제가 제대로 이해를 못했나 봅니다.