본문 바로가기
업무일반

엑셀 - 종속적 드롭다운 목록 생성하기

by 보이드메인 2020. 5. 3.

** 아래기사는 원문을 복제한 것이다 (원문기사 : http://www.itworld.co.kr/news/109809

마이크로소프트 엑셀(워드, 액세스)의 드롭다운 목록을 사용, 사용자나 다른 사람이 특정 필드에서 선택할 수 있는 유효한 선택 사항 목록을 생성할 수 있다. 이 드롭다운 목록은 특정 정보를 요구하는 필드, 철자가 길거나 복잡한 필드, 응답을 통제하기 원하는 필드에 특히 유용하다.

종속적인 드롭다운 목록을 INDIRECT 함수와 결합해서생성했을 때의 장점은 또 있다. 메인 메뉴 드롭다운 목록 상자에서 (음료 같은)특정 제품 범주를 선택한 후, 하위 메뉴(종속적인 메뉴)의 드롭다운 목록 상자에서 (애플 쥬스나 커피 등)관련 제품을 모두 표시할 수 있다. 모든 제품을 관리가 용이한 범주로 분류해주기 때문에 주문이나 재고 관리에서 유용하게 활용할 수 있다. 많은 도소매 회사들이 이런 식으로 제품군을 처리한다. 그렇지만 병원과 보험사, 은행 등 다른 업종의 기업과 기관들도 드롭다운 목록, 확인 상자, 콤보 목록, 라디오 단추 등을 사용해 입력과 사용자 오류를 최소화할 수 있다.

단순한 드롭다운 목록 생성 방법
독자들이 단계별로 연습을 하거나, 자신의 데이터를 적용해 볼 수 있도록 단순한 드롭다운 목록 예제를 만들었다.

예제 통합 문서 다운로드 하기 

이 예제의 데이터를 사용해 엑셀 드롭다운 목록을 연습하기 바란다.

스프레드시트 데이터베이스가 크거나, 여러 다양한 필드가 포함되어 있는 경우 목록 상자 항목을 별도 스프레드시트에 집어넣을 것을 권장한다. 그러나 통합 문서는 동일해야 한다. 반면 목록이 짧다면, 데이터 유효성 검사 대화 창의 소스 필드에 쉼표로 구분해 항목을 입력할 수 있다.

1. 새 통합 문서를 열어 두 번째 스프레드시트를 추가한다(화면 맨 아래 탭 표시줄의 + 기호를 클릭).

2. 워크시트의 스프레드시트 1 이름을 “wks”로, 스프레드시트 2 이름을 “lists”로 변경한다.

3. lists 스프레드시트의 A1에 Surgeons(의사)를 입력한 후, A2부터 A11까지 의사(또는 다른 적용 가능 항목) 10명의 이름을 입력한다.

4. 원하는 방식으로 목록을 정렬한다. 성으로 정렬을 하고 싶다면, 원본 목록에서 성을 가장 먼저 입력한 후 이름과 이니셜을 입력한다.

5. 범위(A1:A11)를 선택하거나, 목록의 셀에 커서를 가져간 후 Ctrl+ T를 눌러 항목 그룹을 표로 전환한다. 엑셀은 표 1, 2, 3식으로 이름을 붙인다. 표가 1개라면 문제가 되지 않는다. “머리글 포함’ 상자에 표시를 한다.

주: 데이터가 표에 위치한 경우, 목록(또한 동일한 표를 사용하는 다른 드롭다운 목록)에서 항목을 추가하거나 삭제하면 자동으로 업데이트가 된다.

JD SARTAIN / IDG WORLDWIDE


6. 스프레드시트1(wks)로 이동한다. 다음 아래 스크린샷과 유사한 데이터를 입력한다. 수술 종류, 날짜, 시간, 의사 등을 예로 들 수 있다. 또는 직접 데이터를 만든다.

7. 드롭다운 목록이 표시되도록 만들고 싶은 셀이나 셀 그룹을 선택한다. 여기에서는 Surgeon 항목의 데이터를 선택한다.

8. 데이터 탭에서 데이터 유효성 검사 > 데이터 유효성 검사를 선택한다.

9. 데이터 유효성 검사 대화 창에서 설정 탭을 선택한다. 유효성 조건 섹션의 ‘제한 대상’의 드롭다운메뉴에서 ‘목록’ 옵션을 선택한다.

JD SARTAIN / IDG WORLDWIDE


10. 원본 필드로 이동해 상자 안을 클릭한다.

11. 마우스 커서를 이 대화 창 밖으로 이동시킨 후, 화면 맨 아래의 통합 문서 탭에서 lists 스프레드시트를 선택한다.

12. 의사에 해당되는 범위를 선택한다. 즉 A2부터 A11까지 선택한다. 엑셀이 자동으로 소스 필드 상자에 이 범위를 추가한다(=lists!$A$2:$A$11). 엔터를 누른다.

13. 다음은 설명 메시지 탭을 클릭한 다음 드롭다운 목록에 대한 제목(Title)과 설명 메시지를 입력한다.

14. 그리고 오류 메시지 탭을 클릭한 다음 드롭다운 목록에 대한 제목과 오류 메시지를 입력한다.

15. 확인을 클릭한다. 드롭다운 목록 상자가 완성되었다.

JD SARTAIN / IDG WORLDWIDE


16. 다시 wks 스프레드시트로 이동해서 커서를 Surgeon 열의 하나에 위치시킨다. 드롭다운 목록 상자의 화살표와 사용자 지정한 입력 메시지가 선택한 열의 각 셀 오른쪽에 표시될 것이다. 아래 화살표를 클릭해 열에서 해당되는 행에 수술 종류에 맞는 전문의를 목록에서 선택한다. 예를 들면, 사이먼 월터스(Simon Walters) 박사의 전문 분야는 엉덩이 수술이다.

17. 사용자가 유효하지 않은 이름을 입력한 경우, 다시 말해 허용되는 수술의 목록에 없는 이름을 입력한다면 Enter 키를 누를 때 지정한 오류 메시지가 표시된다. 취소를 클릭해 대화창을 빠져나간다.

JD SARTAIN / IDG WORLDWIDE



종속적인 드롭다운 목록 생성
종속적인 드롭다운 목록은 오피스 애플리케이션의 하위 메뉴와 유사하다. 메인 메뉴(드롭다운 목록)는 다양한 옵션을, 그 아래 각 하위 메뉴는 메인 메뉴와 관련된 추가적인 옵션들을 표시한다. 예제 워크시트에서 드롭다운 목록은 예정된 수술 종류에 맞게 수술의를 선택할 수 있는 옵션을 제공하고 있다.

다음 연습에서는 대도시에서 50마일 떨어진 시골에서 병원을 운영하고 있다고 가정하자. 대도시에는 필요한 인력을 완전히 갖춘 대형 병원 3곳이 있다. 이 3개 대형 병원에서 수술의를 데려와 환자를 치료하게 하는 일정을 수립해야 한다. ‘메인’ 드롭다운 목록에서 수술의가 근무하는 병원들을 (지역 별로)선택할 수 있다. 하위 메뉴의 드롭다운 목록은 East Side, West Side, Midtown이라는 지역에서 일하는 수술의의 이름을 제공한다.

A. 목록 생성
1. 먼저 또 다른 스프레드시트를 생성해 lists2라는 이름을 지정한다.

2. lists2 스프레드시트의 열 A에 Hospital Location(병원 위치)라는 제목을 입력한다. Hospital Location(병원 위치) 아래의 셀 A2와 A3, A4에 각각 EastSide, WestSide, Midtown을 입력한다(띄어쓰기를 하지 않은 상태에서 한 단어로 입력).

3. 커서를 Hospital Location(병원 위치) 아래 첫 셀(A2)로 이동시킨다. 홈(Home) > 표 서식(Format As Table)을 클릭한 다음 하위 메뉴에서 표 스타일(Table Style)을 선택하고 확인을 클릭한다.

4. 이 목록에서 Hospital Locations(A1:A4)를 선택한다. 이름 상자에 표 이름(Locations)을 입력하거나, Ctrl+ T를 눌러 이 항목을 표로 전환한다. 엑셀은 표 1, 2, 3식으로 이름을 붙일 것이다. 마지막으로 ‘머리글 포함’ 상자에 표시를 한다.

5. 표 이름을 바꾸려면 수식 > 이름 관리자를 선택한다. 표 1(2, 3, 4 등)로 커서를 이동시킨 다음 편집 버튼을 누른다.

6. 이름 편집 대화 상자에 새 이름(여기서는 Location)을 입력한다.

주: 엑셀은 여백이나 기타 특수 문자를 허용하지 않는다. 이름은 문자나 아랫줄로 시작해야 한다. 또 엑셀의 기본 이름이나 통합 문서의 다른 객체와 충돌하는 이름을 사용할 수 없다. 예를 들면, 동일한 통합 문서에 동일한 이름을 가진 범위가 2개 존재할 수 없다. 범위가 별개 스프레드시트에 위치하는 경우도 마찬가지이다.


7. 다음은 Hospital Locations(병원 위치) 각각에 대해 별도 표를 생성한다. lists2 스프레드시트의 열 B와 C, D에 각각 East Side, West Side, Midtown을 입력한다.

8. B, C, D라는 열 각각에 의사들의 이름을 입력한다.

9. 각 목록을 이름이 있는 표 서식으로 지정한다(위 3단계 반복).

10. 각 열의 범위를 선택한다(B1:B8, C1:C7, D1:D9). Ctrl+ T를 눌러 이 항목 그룹을 표로 바꾼다. ‘머리글 포함’ 상자를 선택한다. 위의 5 및 6 단계를 반복해 표의 이름을 바꾼다. 범위 이름에는 여백을 사용할 수 없다.



주: 여러 표를 사용하는 경우, 각 열에 지정한 헤더를 기준으로 이름을 정한다.

B. 드롭다운 생성
1. 먼저 wks 스프레드시트로 돌아가, D와 E에 Location(위치)과 Surgeon(수술의)이라는 새 헤더를 생성한다.(앞서 드롭다운 목록 만들기에서 연습했던 Surgeon 항목은 삭제)

2. 셀 D1:E11을 선택한 다음 홈 > 표 서식을 선택한다. 그리고 스타일을 선택하고, 헤더 상자에 표시를 한 후 확인을 클릭한다.

3. 메인 메뉴 드롭다운 목록에 대한 셀 D2:D11을 선택한다.

4. 데이터(Data) 탭에서 데이터 유효성 검사 > 데이터 유효성 검사를 선택한다.

5. 데이터 유효성 검사 대화 창에서 설정 탭을 선택한다. 유효성 조건 섹션의 ‘제한 대상’의 드롭다운메뉴에서 ‘목록’ 옵션을 선택한다.

6. 원본 상자에서 list2 스프레드시트를 클릭하고, 헤더(A2:A4)를 제외하고 Hospital Location(병원 위치) 목록을 선택한다. 그리고 확인을 클릭한다.



7. 커서를 셀 E2로 옮긴다.

8. 위 8 및 9 단계를 반복한다.

9. 이번에는 원본 상자에 =INDIRECT($D$2)라는 수식을 입력한다. 현재 셀에서만 적용이 되는 수식이다. 이후 확인을 클릭한다.

주: 소스 오류 메시지가 표시되는 경우 예(Yes)를 누른다. 드롭다운 목록의 데이터가 채워질 때 오류 표시가 중단된다.

10. 열을 채우려면 =INDIRECT($D2)를 입력한다. 행 숫자에 '$' 기호가 없다. 이후 셀 D2를 D3부터 D11까지 복사한다. 그러면 전체 범위가 활성화된다.



11. 입력 메시지나 오류 경고를 추가하고 싶다면 ‘단순한 드롭다운 목록 생성 방법’의 13 및 14 단계를 반복한다.

C. 테스트
테스트를 할 시간이다. 열 D(Location)에서 한 번에 하나씩 드롭다운 화살표를 클릭한다.

1. 목록에서 병원을 선택하면 활성화된 셀에 표시된다.

2. 커서를 열 E(Surgeon)으로 이동시킨 다음, 열 D에서 지정한 위치의 의사 목록에서 의사를 선택한다.

JD SARTAIN / IDG WORLDWIDE


D. 두 단어로 구성된 항목 사용 방법
메인 메뉴 드롭다운(예, Location)에 여백 없이 2개 이상의 단어를 사용하고 싶다면(예, EastSide가 아닌 East Side), 데이터 유효성 검사(Data Validation) 대화 창의 종속적 드롭다운 (수술의)소스 상자에 =INDIRECT(SUBSTITUTE(D2," ",""))를 입력한다. D2는 셀 주소, “ ”는 중간에 여백이 있는 큰 따옴표, “”는 여백이 없는 큰 따옴표이다. 그러면 여백이 없는 D2가 여백이 있는 D2로 교체된다. 

 

댓글