• 최초 작성일: 2001-05-08
  • 최종 수정일: 2026-09-29
  • 조회수: 21 회
  • 작성자: 권현욱 (엑셀러)
  • 강의 제목: 최대값 주소 알아내기

들어가기 전에

오래 전 엑셀 파일로 진행하던 강의를 웹 글로 복원한 것이라, "버튼을 눌러보세요"처럼 엑셀에서 직접 조작하라는 표현이 남아 있을 수 있습니다. 결과는 본문의 그림이나 표로 확인하실 수 있으며, 현재와 맞지 않는 내용은 보완하되 전반적인 스타일은 당시의 갬성(?)을 유지했습니다.

질문 하나

=RAND()*100 =RAND()*100 =RAND()*100 =RAND()*100 =RAND()*100 =RAND()*100 =RAND()*100 =RAND()*100
=RAND()*100 =RAND()*100 =RAND()*100 =RAND()*100 =RAND()*100 =RAND()*100 =RAND()*100 =RAND()*100
=RAND()*100 =RAND()*100 =RAND()*100 =RAND()*100 =RAND()*100 =RAND()*100 =RAND()*100 =RAND()*100
=RAND()*100 =RAND()*100 =RAND()*100 =RAND()*100 =RAND()*100 =RAND()*100 =RAND()*100 =RAND()*100
=RAND()*100 =RAND()*100 =RAND()*100 =RAND()*100 =RAND()*100 =RAND()*100 =RAND()*100 =RAND()*100
=RAND()*100 =RAND()*100 =RAND()*100 =RAND()*100 =RAND()*100 =RAND()*100 =RAND()*100 =RAND()*100
=RAND()*100 =RAND()*100 =RAND()*100 =RAND()*100 =RAND()*100 =RAND()*100 =RAND()*100 =RAND()*100
=RAND()*100 =RAND()*100 =RAND()*100 =RAND()*100 =RAND()*100 =RAND()*100 =RAND()*100 =RAND()*100
=RAND()*100 =RAND()*100 =RAND()*100 =RAND()*100 =RAND()*100 =RAND()*100 =RAND()*100 =RAND()*100
=RAND()*100 =RAND()*100 =RAND()*100 =RAND()*100 =RAND()*100 =RAND()*100 =RAND()*100 =RAND()*100
=RAND()*100 =RAND()*100 =RAND()*100 =RAND()*100 =RAND()*100 =RAND()*100 =RAND()*100 =RAND()*100
=RAND()*100 =RAND()*100 =RAND()*100 =RAND()*100 =RAND()*100 =RAND()*100 =RAND()*100 =RAND()*100
=RAND()*100 =RAND()*100 =RAND()*100 =RAND()*100 =RAND()*100 =RAND()*100 =RAND()*100 =RAND()*100
=RAND()*100 =RAND()*100 =RAND()*100 =RAND()*100 =RAND()*100 =RAND()*100 =RAND()*100 =RAND()*100

이런 자료가 있다고 할 때, 열에서 가장 큰 자료가 있는 셀의 주소를 표시하려면 어떻게 해야 하나요?

실무적으로 이런 작업을 사용할 경우가 있을까 생각해 보았는데, 여러 종류의 함수들을 종합적으로 응용해 볼 수 있는 예제가 될 것 같아 아래와 같이 만들어 보았습니다. 각 열에서 최대값을 가진 셀의 주소를 구하고 그 아래에다가 그 셀의 값을 다시 나타내 주었습니다.

권현욱(엑셀러)
저자: 권현욱(엑셀러), 아이엑셀러 대표

필자는 Excel 컨설턴트, 작가, 그리고 크리에이터입니다. 현재 Microsoft Excel MVP이며, 『챗GPT+엑셀 업무자동화 정석』을 비롯한 10여 권의 도서를 집필했습니다. Excel 자동화 및 생산성 향상 분야에서 25년 넘는 경력을 보유하고 있습니다.

권현욱(엑셀러) 님의 최신 포스트:
  • 최신 글을 불러오는 중...


26년 경력 Microsoft MVP 권현욱(엑셀러) 지음

📊 신간 전자책(PDF) · 287쪽 · 13500원

엑셀 대시보드를 만드는 최적의 '표준 3계층 구조'

  • 3초 안에 읽히는 화면 설계 감각 습득
  • Microsoft Excel MVP의 실전 노하우 수록
  • 중간마진 없는 합리적인 가격, 오직 아이엑셀러에서만!
지금 구매하기 완성 화면 보기

최대값 주소 알아내기

핵심 요약

  • 각 열에서 최대값이 들어 있는 셀의 주소를 구하려면 MAX, MATCH, INDEX, ROW, COLUMN, ADDRESS 함수를 조합할 수 있습니다.
  • ADDRESS 함수는 행 번호와 열 번호를 셀 주소 문자열로 바꾸며, 예제에서는 배열 수식으로 최대값 위치를 찾아 주소를 반환합니다.
  • 구한 주소는 INDIRECT 함수에 넘겨 해당 셀의 실제 최대값을 다시 가져올 수 있습니다.
셀 주소 {=ADDRESS(ROW(INDEX(B8:B21,MATCH(MAX(B8:B21),B8:B21,0))),COLUMN(INDEX(B8:B21,MATCH(MAX(B8:B21),B8:B21))),4)} {=ADDRESS(ROW(INDEX(C8:C21,MATCH(MAX(C8:C21),C8:C21,0))),COLUMN(INDEX(C8:C21,MATCH(MAX(C8:C21),C8:C21))),4)} {=ADDRESS(ROW(INDEX(D8:D21,MATCH(MAX(D8:D21),D8:D21,0))),COLUMN(INDEX(D8:D21,MATCH(MAX(D8:D21),D8:D21))),4)} {=ADDRESS(ROW(INDEX(E8:E21,MATCH(MAX(E8:E21),E8:E21,0))),COLUMN(INDEX(E8:E21,MATCH(MAX(E8:E21),E8:E21))),4)} {=ADDRESS(ROW(INDEX(F8:F21,MATCH(MAX(F8:F21),F8:F21,0))),COLUMN(INDEX(F8:F21,MATCH(MAX(F8:F21),F8:F21))),4)} {=ADDRESS(ROW(INDEX(G8:G21,MATCH(MAX(G8:G21),G8:G21,0))),COLUMN(INDEX(G8:G21,MATCH(MAX(G8:G21),G8:G21))),4)} {=ADDRESS(ROW(INDEX(H8:H21,MATCH(MAX(H8:H21),H8:H21,0))),COLUMN(INDEX(H8:H21,MATCH(MAX(H8:H21),H8:H21))),4)} {=ADDRESS(ROW(INDEX(I8:I21,MATCH(MAX(I8:I21),I8:I21,0))),COLUMN(INDEX(I8:I21,MATCH(MAX(I8:I21),I8:I21))),4)}
최대값 =INDIRECT(B32) =INDIRECT(C32) =INDIRECT(D32) =INDIRECT(E32) =INDIRECT(F32) =INDIRECT(G32) =INDIRECT(H32) =INDIRECT(I32)
{=ADDRESS(MAX(IF(B9:B21=MAX(B9:B21),ROW(B9:B21),"")),COLUMN(B9:B21),4)}

B32 셀에는 아래와 같은 무시무시한(?) 함수가 들어 있습니다.

{=ADDRESS(ROW(INDEX(B8:B21,MATCH(MAX(B8:B21),B8:B21,0))),COLUMN(INDEX(B8:B21,MATCH(MAX(B8:B21),B8:B21))),4)}

Address라는 함수에 대해서는 설명을 드렸던가요? 잘 기억이 나지 않는데... 이 함수는 주어진 행과 열 번호를 가지고 셀 주소를 만들어 주는 함수입니다. 예를 들어 =Address(3,4,4)라고 입력을 하면, 'D3' 이라는 셀 주소를 되돌려 줍니다.

=ADDRESS(3,4,4) D3

그 이외의 나머지 Row, Column, Match, Index 함수 등은 이미 설명을 드린 기억이 납니다. 혹시 잘 기억이 안나는 분은 예전 강좌나 도움말을 참고하시기 바랍니다. 그리고 수식의 좌우에 중괄호({})가 있는 것으로 보아... 그렇지요! 배열 수식을 사용한 것입니다. Ctrl + Shift + Enter키를 눌러서 마무리를 하시면 됩니다.

또는 아래와 같은 수식을 사용하셔도 되겠습니다. 역시 배열 수식입니다.

{=ADDRESS(MAX(IF(B9:B21=MAX(B9:B21),ROW(B9:B21),"")),COLUMN(B9:B21),4)}

많이 응용해 보시기 바랍니다.

그러고 보니 오늘이 어버이 날이군요. 세상의 모든 어버이들은 위대합니다. Exceller도 이제 어버이입니다. 고로 Exceller도 위해하다아?!@#$

잠시 허튼 소리 좀 했습니다. 세상의 모든 어버이들이 위대한 것은 사실입니다. 부모님의 마음을 조금이나마 헤아리려고 노력하는 하루가 되시기를...

다음 시간에 또...

정리 — 최대값 주소 알아내기

구분내용
ADDRESS 함수행 번호와 열 번호로 셀 주소 문자열 생성 (=ADDRESS(3,4,4) 결과는 D3)
최대값 주소 수식{=ADDRESS(MAX(IF(B9:B21=MAX(B9:B21),ROW(B9:B21),"")),COLUMN(B9:B21),4)}
다른 방법INDEX, MATCH, MAX, ROW, COLUMN, ADDRESS를 조합한 배열 수식
입력 방법Ctrl + Shift + Enter (배열 수식)
최대값 표시구한 주소를 =INDIRECT(B32)로 참조

자주 묻는 질문 (FAQ)

Q1. 각 열에서 최대값이 있는 셀의 주소는 어떻게 구하나요?

MAX로 최대값을 찾고 MATCH, INDEX, ROW, COLUMN으로 그 위치를 구한 뒤 ADDRESS 함수로 셀 주소를 만드는 배열 수식을 사용합니다.

Q2. ADDRESS 함수는 어떤 함수인가요?

주어진 행과 열 번호로 셀 주소를 만들어 돌려주는 함수입니다. 예를 들어 행 3, 열 4를 넣으면 D3을 반환합니다.

Q3. 구한 주소의 실제 값은 어떻게 가져오나요?

주소가 들어 있는 셀을 INDIRECT 함수로 참조하면 그 셀의 값, 즉 최대값을 가져올 수 있습니다.

마치며

여러 함수를 종합적으로 응용해 보는 좋은 연습이니 직접 수식을 입력해 보세요. VBA에 대한 기초 지식을 공부하실 분은 아이엑셀러 닷컴 사이트 상단 메뉴에서 [Excel 강의] - [Excel 입문]을 먼저 보시면 이해하기 쉽습니다.