빈칸을 제외하는 동적범위 공식
마지막셀을 자동으로 찾아 이동하는 버튼만들기!- 동적범위 응용
이 강의에서는 매번 새로운 자료를 추가해야 하는 엑셀 시트에서 마지막 셀로 한 번에 이동하는 버튼을 동적범위 수식만으로 만드는 방법을 다룹니다. 빈칸이 섞인 참조범위에서도 정확히 동작하도록 INDEX/MATCH 함수를 조합하고, 이름정의 범위와 도형 하이퍼링크를 연결해 매크로 없이 작동하는 자동 이동 버튼을 완성하는 과정을 정리합니다.
실습자료를 준비했어요
수업에서 사용한 예제 파일과 보충 자료를 한 곳에 정리했습니다!👇
강의 요약
일일 장표나 재고 수불부처럼 매번 새로운 자료를 시트에 추가해야 하는 상황에서, 화면을 일일이 스크롤하지 않고 마우스 클릭만으로 마지막 셀로 이동해 데이터를 입력할 수 있다면 작업 속도가 한층 빨라집니다.
이번 강의에서는 매크로 없이 동적범위만 응용하여 시트의 마지막 셀로 한 번에 이동하는 버튼을 만드는 방법을 단계별로 살펴봅니다.
범위의 마지막 셀을 찾는 완성 공식!
동적범위의 기초 이론과 활용법은 아래 10분 분량의 영상 강의에서 자세히 다루었으니 함께 참고하시면 좋습니다.
COUNTA를 사용한 동적범위의 한계와 해결 방법
1. COUNTA 함수를 사용한 동적범위의 문제점
OFFSET 함수를 이용한 동적범위
INDEX 함수를 이용한 동적범위
이전 강의에서는 COUNTA 함수를 활용한 동적범위를 살펴보았습니다. COUNTA 동적범위는 대부분의 상황에서 무리 없이 적용할 수 있고 작성이 간결하다는 장점이 있습니다. 하지만 참조범위 안에 빈칸이 포함되어 있을 경우 올바른 범위를 반환하지 못하는 한계가 있습니다.
따라서 참조범위에 빈칸이 섞여 있다면 MATCH 함수를 사용한 동적범위로 작성하는 방식을 권장합니다.
2. MATCH 함수를 사용한 동적범위
MATCH 함수를 활용해 동적범위를 구성하면 참조범위에 빈칸이 포함되어 있어도 마지막 셀을 정확히 인식할 수 있습니다. 다만 MATCH 동적범위는 참조범위에 들어가는 데이터의 종류에 따라 '문자'와 '숫자'에 각각 다른 수식을 사용해야 하므로 상황을 구분해 작성합니다. (이 규칙은 INDEX 동적범위에서도 동일하게 적용됩니다.)
문자가 포함된 참조범위일 경우
숫자가 포함된 참조범위일 경우
마지막 셀을 자동으로 찾아 이동하는 버튼 만들기
- 버튼으로 사용할 셀을 먼저 만듭니다. 셀의 크기와 배경색, 테두리를 원하는 디자인에 맞춰 설정합니다.

- 시트의 빈 셀을 아무 곳이나 선택한 뒤, '마지막셀'이라는 이름정의 범위를 생성합니다.

- 버튼으로 사용할 셀의 크기에 맞춰 직사각형 도형을 추가합니다. 도형의 윤곽선과 배경색은 모두 '없음'으로 지정합니다.

- 도형 위에서 우클릭한 뒤 [링크] 메뉴를 선택합니다.

- 하이퍼링크 삽입 창이 열리면 좌측의 [현재 문서]를 선택한 뒤, [정의된 이름] 목록에서 '마지막셀'을 선택해 도형과 연결합니다.

- 리본의 [수식] - [이름 관리자]로 이동해 앞서 만든 이름정의 범위를 편집합니다. (단축키 Ctrl + F3)

- 참조 대상 입력란에 아래 수식을 그대로 복사해 붙여 넣습니다.
=INDEX(주문!$A:$A,MATCH("*",주문!$A:$A,-1)+1)

- 머릿글 행을 전체 선택한 뒤 [보기] - [틀 고정]을 클릭합니다. 틀 고정을 사용하면 화면을 아래로 이동하더라도 머릿글 행이 항상 시트 상단에 고정되어 표시됩니다.

- 이렇게 마지막 셀 자동 이동 버튼이 완성되었습니다. 이제 버튼을 클릭하면 시트의 마지막 셀로 한 번에 이동하므로, 새 자료를 빠르고 편리하게 추가할 수 있습니다.
Tip! : 키보드 Alt + ↓ 를 누르면 드롭다운 목록 상자가 즉시 나타나 자료를 더욱 편리하게 입력할 수 있습니다.

자주 묻는 질문
Q1. 마지막 셀 자동 이동이 제대로 동작하지 않습니다.
참조범위 안에 문자 앞 띄어쓰기(" ") 또는 특수문자("㈜", "☏" 등)가 포함되어 있을 경우, 마지막 셀 자동 이동 버튼이 의도대로 동작하지 않을 수 있습니다. 이런 경우에는 MATCH 함수의 첫 번째 인수에 띄어쓰기를 추가하여 아래와 같이 수식을 변경합니다.
Q2. 마지막 셀 이름정의 범위가 하이퍼링크 편집 목록에 표시되지 않습니다.
함수로 작성된 이름정의 범위는 도형에 연결되는 하이퍼링크 목록에 곧바로 표시되지 않습니다. 따라서 먼저 일반 범위를 이름정의 범위로 만들어 도형에 연결한 뒤, 이후 단계에서 해당 범위를 동적범위 수식으로 변경하는 순서로 작업해야 합니다.
위 내용을 다 이해하지 못했지만 따라해보니 만들기는 했습니다.
몇가지 문의를 드리고 싶습니다...
1. 3-B 에서 사용자 지정 범위를 만들어서 링크에서 활용하는거 같은대
이러한 과정이 어떤 결과에 활용하기 위함인지 궁급합니다.
2. '맨 위로 이동' 버튼을 만든다고 하면 어떤 부분을 고쳐야 활용 할 수 있나요?
3. 과거에 데이터 입력을 위해 표와 표 입력 공간을(아래로 스크롤) 띄엄 띄엄 놓고 스크롤 이동 하기가 힘들어
이동 버튼을 만들자는 생각에 TEXT에 하이퍼 링크를 걸어 만든 다음 시트를 복사하여 사용하였더니
처음 하이퍼 링크를 연결 해놨던 시트로만 이동하여 제대로 활용하지 못했었는대
위 방법을 응용하면 시트를 복사하더라도 각 '시트'안에서 원하는 지점에 이동할 수 있게도 할 수 있나요 ?
아래와 같이 표를 만들었었습니다.
A. 상품 입력 표
입력을 위한 공간
B. 상품 가격 입력 표
입력을 위한 공간
C. 상품 유통 기한 표
입력을 위한 공간
바쁘실 텐대 위 질문에 짧게나마 답변 주신 다면 많은 도움이 될 듯 합니다.
긴 질문 읽어 주셔서 감사합니다.
오늘도 좋은 하루 되세요.
2. '맨 위' 라는 것은 항상 고정되어 있지 않을까요?^^ 셀 주소로, =A1 처럼 지정해주시면 될듯합니다.
만약 위쪽으로 데이터가 쌓여가는 형식이라면.. 아래 공식으로 이름정의범위를 추가해보시겠어요?
=MATCH("*",A:A,0)
3. 가능합니다. 다만, 복사붙여넣기가 아닌 [잘라서 붙여넣기로]으로 목적지 통합문서로 이동해주셔야 합니다. 또한 중복된 '이름정의범위'가 없다는 가정하에서만 정상동작합니다. :)
신 세 계 입니다..
감사합니다....
2020년 새해 복 많이 받으시고, 건강 하세요...
요청이 있다면 지금보다 아주 조금은 천천히 진행하셨으면 합니다. ㅎ
시대가 지날수록 많은 분들이 짧고, 간결하면서 보다 빠른 내용 전달을 원하시다보니, 반대로 그렇지 않은 분들과의 격차를 줄이며 진행하는게 매번 신경쓰지만 여간 쉽지만은 않은것 같습니다..
제 기억에 동적범위 강의는 처음 40분짜리 영상을 15분, 20분으로 줄이며 중요한 부분만 압축한다고 나름 신경쓴 영상인데도 실제 실무에 계신분들은 핵심 공식만 필요로 하는게 사실이여서, 영상 초반부보다 후반부 지속시간이 더 높게 나오기도 합니다..쿨럭..ㅠ-ㅠ;
이러한 상황에서 최대한 격차를 줄이고자 매 강의마다 홈페이지에 상세내용을 포스트로 적어드리고 있으니, 혹시라도 부족한 부분은 댓글로 남겨주시면 최대한 성심성의껏 답변드리겠습니다.
소중한 의견 감사드리며 항상 응원하겠습니다.
이춘호님도 새해복 많이 받으시고 건승하시길 기원합니다. 감사합니다.
마지막셀을 구성하는 열 자체가 숫자일 경우에는 어떻게 하나요?
똑같이 했는데 숫자라서 그런지 안되어요 ㅠ_ㅠ
match 함수 공식을,
로 변경해보시겠어요?^-^
해당포스트 2번 항목에 공식 적어드렸으니 확인해보세요 ^-^
제 답변이 도움이 되셨길 바랍니다.
감사합니다!
첨부된 예제 파일도 마찬가지고, 새로 만들어 봐도 그런데요.
영상강의에서 설명드린바와 같이, '동적범위로 설정된 이름정의범위'는 하이퍼링크 목록에 나타나지 않습ㄴ다.
따라서 1. 일반 범위로 하이퍼링크를 우선 연결한 뒤, 2. 해당 범위를 다시 동적범위로 변경하는 순서 작업하셔야 합니다 ^^
제 답변이 도움이 되셨길 바랍니다.
감사합니다.
중간부터 보니 동적범위가 이해가 잘 안되서 처음자료부터 정주행하고 있습니다.