Excel에서 동적 명명된 범위를 만드는 방법은 무엇입니까?
일반적으로, 명명된 범위는 Excel 사용자에게 매우 유용합니다. 열의 일련의 값을 정의하고 해당 열에 이름을 지정한 다음 셀 참조 대신 이름으로 해당 범위를 참조할 수 있습니다. 하지만 대부분의 경우, 미래에 참조하는 범위의 데이터 값을 확장하기 위해 새로운 데이터를 추가해야 합니다. 이 경우, 수식 > 이름 관리자로 돌아가서 새 값을 포함하도록 범위를 다시 정의해야 합니다. 이를 방지하기 위해 동적 명명된 범위를 생성할 수 있으며, 이는 목록에 새 행이나 열을 추가할 때마다 셀 참조를 조정할 필요가 없다는 것을 의미합니다.
테이블을 만들어 Excel에서 동적 명명된 범위 만들기
함수를 사용하여 Excel에서 동적 명명된 범위 만들기
VBA 코드를 사용하여 Excel에서 동적 명명된 범위 만들기
테이블을 만들어 Excel에서 동적 명명된 범위 만들기
Excel 2007 또는 이후 버전을 사용 중이라면 동적 명명된 범위를 만드는 가장 쉬운 방법은 명명된 Excel 테이블을 만드는 것입니다.
다음과 같은 데이터 범위가 있고 이를 동적 명명된 범위로 만들어야 한다고 가정해 보겠습니다.
1. 먼저 이 범위에 대해 범위 이름을 정의하겠습니다. A1:A6 범위를 선택하고 이름 상자에 Date를 입력한 다음 Enter 키를 누릅니다. 같은 방법으로 B1:B6 범위에 Saleprice라는 이름을 정의합니다. 동시에 빈 셀에 =sum(Saleprice) 공식을 작성합니다. 스크린샷을 참조하세요:
2. 범위를 선택하고 삽입 > 테이블을 클릭합니다. 스크린샷을 참조하세요:
3. 테이블 생성 대화 상자에서 내 테이블에 제목이 있음(범위에 제목이 없는 경우 선택 해제)을 체크하고 확인 버튼을 클릭하면 범위 데이터가 테이블로 변환됩니다. 스크린샷을 참조하세요:
![]() | ![]() | ![]() |
4. 그리고 데이터 뒤에 새 값을 입력하면 명명된 범위가 자동으로 조정되고 생성된 수식도 변경됩니다. 다음 스크린샷을 참조하세요:
![]() | ![]() | ![]() |
참고:
1. 새로 입력하는 데이터는 위의 데이터와 인접해야 하며, 즉 새 데이터와 기존 데이터 사이에 빈 행이나 열이 없어야 합니다.
2. 테이블에서는 기존 값 사이에 데이터를 삽입할 수 있습니다.
함수를 사용하여 Excel에서 동적 명명된 범위 만들기
Excel 2003 또는 이전 버전에서는 첫 번째 방법을 사용할 수 없습니다. 따라서 여기에 다른 방법이 있습니다. 다음 OFFSET() 함수는 이를 처리할 수 있지만 다소 복잡합니다. 예를 들어, 정의한 범위 이름을 포함하는 데이터 범위가 있다고 가정해 보겠습니다. 예를 들어, A1:A6 범위 이름은 Date이고, B1:B6 범위 이름은 Saleprice이며, 동시에 Saleprice에 대한 수식을 작성합니다. 스크린샷을 참조하세요:
다음 단계에 따라 범위 이름을 동적 범위 이름으로 변경할 수 있습니다:
1. 수식 > 이름 관리자를 클릭합니다. 스크린샷을 참조하세요:
2. 이름 관리자 대화 상자에서 사용하려는 항목을 선택하고 편집 버튼을 클릭합니다.
3. 나타난 이름 편집 대화 상자에서 Refers to 텍스트 상자에 다음 수식 =OFFSET(Sheet1!$A$1, 0, 0, COUNTA($A:$A), 1)을 입력합니다. 스크린샷을 참조하세요:
4. 그런 다음 확인을 클릭하고 2단계와 3단계를 반복하여 Saleprice 범위 이름에 대해 Refers to 텍스트 상자에 다음 수식 =OFFSET(Sheet1!$B$1, 0, 0, COUNTA($B:$B), 1)을 복사합니다.
5. 이제 동적 명명된 범위가 생성되었습니다. 데이터 뒤에 새 값을 입력하면 명명된 범위가 자동으로 조정되고 생성된 수식도 변경됩니다. 스크린샷을 참조하세요:
![]() | ![]() | ![]() |
참고: 범위 중간에 빈 셀이 있는 경우 수식 결과가 잘못될 수 있습니다. 그 이유는 비어 있지 않은 셀이 계산되지 않아 범위가 짧아지고 마지막 셀이 범위에서 제외되기 때문입니다.
팁: 이 수식에 대한 설명:
- =OFFSET(참조,행,열,[높이],[너비])
- =OFFSET(Sheet1!$A$1, 0, 0, COUNTA($A:$A), 1)
- 참조는 시작 셀 위치에 해당하며, 이 예에서는 Sheet1!$A$1입니다.
- 행은 시작 셀에 대해 아래로 이동할 행 수(또는 음수 값을 사용할 경우 위로 이동)를 나타냅니다. 이 예에서는 0이므로 목록은 첫 번째 행부터 시작됩니다.
- 열은 시작 셀에 대해 오른쪽으로 이동할 열 수(또는 음수 값을 사용할 경우 왼쪽으로 이동)를 나타냅니다. 위의 예제 수식에서는 0이므로 오른쪽으로 0열 확장됩니다.
- [높이]는 조정된 위치에서 시작하는 범위의 높이(또는 행 수)에 해당합니다. $A:$A는 열 A에 입력된 모든 항목을 계산합니다.
- [너비]는 조정된 위치에서 시작하는 범위의 너비(또는 열 수)에 해당합니다. 위의 수식에서는 목록이 1열 너비가 됩니다.
필요에 따라 이러한 인수를 변경할 수 있습니다.
VBA 코드를 사용하여 Excel에서 동적 명명된 범위 만들기
여러 열이 있는 경우 나머지 모든 열에 대해 개별 수식을 반복해서 입력할 수 있지만, 이는 길고 반복적인 과정입니다. 더 쉽게 하기 위해 동적 명명된 범위를 자동으로 생성하는 코드를 사용할 수 있습니다.
1. 워크시트를 활성화합니다.
2. ALT + F11 키를 누르고 있으면 Microsoft Visual Basic for Applications 창이 열립니다.
3. 삽입 > 모듈을 클릭하고 모듈 창에 다음 코드를 붙여넣습니다.
VBA 코드: 동적 명명된 범위 만들기
Sub CreateNamesxx()
'Update 20131128
Dim wb As Workbook, ws As Worksheet
Dim lrow As Long, lcol As Long, i As Long
Dim myName As String, Start As String
Const Rowno = 1
Const Colno = 1
Const Offset = 1
On Error Resume Next
Set wb = ActiveWorkbook
Set ws = ActiveSheet
lcol = ws.Cells(Rowno, 1).End(xlToRight).Column
lrow = ws.Cells(Rows.Count, Colno).End(xlUp).Row
Start = Cells(Rowno, Colno).Address
wb.Names.Add Name:="lcol", RefersTo:="=COUNTA($" & Rowno & ":$" & Rowno & ")"
wb.Names.Add Name:="lrow", RefersToR1C1:="=COUNTA(C" & Colno & ")"
wb.Names.Add Name:="myData", RefersTo:="=" & Start & ":INDEX($1:$65536," & "lrow," & "Lcol)"
For i = Colno To lcol
myName = Replace(Cells(Rowno, i).Value, " ", "_")
If myName <> "" Then
wb.Names.Add Name:=myName, RefersToR1C1:="=R" & Rowno + Offset & "C" & i & ":INDEX(C" & i & ",lrow)"
End If
Next
End Sub
4. 그런 다음 F5 키를 눌러 코드를 실행하면 첫 번째 행 값으로 명명된 몇 가지 동적 명명된 범위가 생성되며 전체 데이터를 포함하는 MyData라는 동적 범위도 생성됩니다.
5. 행 또는 열 뒤에 새 값을 입력하면 범위도 확장됩니다. 스크린샷을 참조하세요:
![]() |
![]() |
![]() |
참고:
1. 이 코드를 사용하면 범위 이름이 이름 상자에 표시되지 않습니다. 범위 이름을 편리하게 보기 및 사용하기 위해 Kutools for Excel을 설치했으며, 탐색 창을 통해 생성된 동적 범위 이름이 나열됩니다.
2. 이 코드를 사용하면 데이터의 전체 범위가 세로 또는 가로로 확장될 수 있지만, 새 값을 입력할 때 데이터 사이에 빈 행이나 열이 없어야 합니다.
3. 이 코드를 사용할 때 데이터 범위는 셀 A1에서 시작해야 합니다.
관련 기사:
Excel에서 새 데이터를 입력한 후 차트를 자동으로 업데이트하려면 어떻게 해야 합니까?
최고의 오피스 생산성 도구
? | Kutools AI Aide: 지능형 실행, 코드 생성, 사용자 정의 수식 작성, 데이터 분석 및 차트 생성, Kutools 함수 호출을 기반으로 데이터 분석 혁신… |
인기 기능: 중복 찾기, 강조 또는 식별 | 빈 행 삭제 | 데이터 손실 없이 열 또는 셀 결합 | 수식 없이 반올림 ... | |
슈퍼 LOOKUP: 다중 조건 VLookup | 다중 값 VLookup | 다중 시트 조회 | 퍼지 매치 .... | |
고급 드롭다운 목록: 빠르게 드롭다운 목록 만들기 | 종속 드롭다운 목록 | 다중 선택 드롭다운 목록 .... | |
열 관리자: 특정 개수의 열 추가 | 열 이동 | 숨겨진 열의 가시성 상태 전환 | 범위 및 열 비교 ... | |
주요 기능: 그리드 포커스 | 디자인 보기 | 향상된 수식 표시줄 | 통합 문서 및 시트 관리자 | 자동 텍스트 라이브러리 (Auto Text) | 날짜 선택기 | 데이터 병합 | 셀 암호화/해독 | 목록으로 이메일 보내기 | 슈퍼 필터 | 특수 필터 (굵은 글꼴/이탤릭체/취소선 필터링...) ... | |
최고의 15가지 도구 모음: 12개의 텍스트 도구 (텍스트 추가, 특정 문자 삭제, ...) | 50+ 차트 유형 (간트 차트, ...) | 40+ 실용적인 수식 (생일을 기반으로 나이 계산, ...) | 19개 삽입 도구 (QR 코드 삽입, 경로에서 그림 삽입, ...) | 12개 변환 도구 (단어로 변환하기, 통화 변환, ...) | 7개 병합 및 분할 도구 (고급 행 병합, 셀 분할, ...) | ... 그리고 더 많은 기능들 |
Kutools for Excel로 엑셀 스킬을 강화하고 지금까지 경험하지 못한 효율성을 체험하세요. Kutools for Excel은 생산성을 향상시키고 시간을 절약할 수 있는 300개 이상의 고급 기능을 제공합니다. 가장 필요한 기능을 얻으려면 여기를 클릭하세요...
Office Tab은 탭 인터페이스를 Office에 제공하여 작업을 훨씬 쉽게 만듭니다.
- Word, Excel, PowerPoint에서 탭 편집 및 읽기를 활성화하세요.
- 새 창 대신 동일한 창의 새 탭에서 여러 문서를 열고 생성하세요.
- 생산성을 50% 향상시키고 매일 수백 번의 마우스 클릭을 줄입니다!