드롭다운 목록의 진화: 선택지에 따라 다음 목록이 변하는 동적 종속 목록
“서울을 선택하면 강남구가 나와야지, 왜 해운대구가 나오죠?”
구글 시트 동적 종속 드롭다운(Dependent Dropdown) 완벽 가이드
데이터 입력을 편하게 하려고 ‘드롭다운(목록 선택)’ 기능을 만들었는데, 오히려 더 헷갈렸던 적 없으신가요?
예를 들어 첫 번째 칸에서 **’과일’**을 선택했다면, 두 번째 칸에서는 **’사과, 배, 포도’**가 나와야 합니다. 그런데 뜬금없이 ‘소고기, 돼지고기’까지 모든 목록이 다 뜬다면 드롭다운을 만든 의미가 없겠죠.
이렇게 앞선 선택에 따라 뒤따라오는 목록이 자동으로 바뀌는 기능을 **’종속 드롭다운(Dependent Dropdown)’**이라고 부릅니다. 엑셀에서는 복잡한 이름 관리자를 써야 했지만, 구글 시트에서는 함수 하나로 아주 우아하게 구현할 수 있습니다.
오늘은 여러분의 시트를 앱(App)처럼 스마트하게 만들어주는 이중 드롭다운 연결 기술을 소개합니다.
1. 종속 드롭다운이 필요한 순간
이 기능은 ‘대분류 → 소분류’ 구조를 가진 모든 데이터 관리에 필수적입니다.
-
주소 입력: [시/도]를 선택하면 → 해당 지역의 [시/군/구]만 노출
-
재고 관리: [브랜드]를 선택하면 → 해당 브랜드의 [제품명]만 노출
-
인사 관리: [부서]를 선택하면 → 해당 부서의 [팀원 이름]만 노출
이 기능을 적용하면 입력 실수를 원천 차단하고, 수백 개의 목록을 스크롤 하는 시간을 획기적으로 줄일 수 있습니다.
2. 준비물: 데이터베이스 시트 만들기
먼저 원본 데이터가 필요합니다. 헷갈리지 않게 **’DB’**라는 이름의 시트를 하나 만들고 아래처럼 데이터를 정리해 주세요.
-
A열 (대분류): 과일, 과일, 고기, 고기…
-
B열 (소분류): 사과, 포도, 소고기, 삼겹살…
| A열(대분류) | B열(소분류) |
| 과일 | 사과 |
| 과일 | 배 |
| 과일 | 포도 |
| 고기 | 소고기 |
| 고기 | 삼겹살 |
| 채소 | 당근 |
팁: 대분류가 반복되어도 괜찮습니다. 오히려 이렇게 ‘테이블 형태’로 정리하는 것이 함수를 쓰기에 훨씬 유리합니다.
3. 마법의 함수 ‘FILTER’로 연결 고리 만들기
이제 사용자가 입력할 **’입력 시트’**로 돌아옵니다.
우리의 목표는 **”1차 드롭다운에서 선택한 값에 해당하는 2차 목록만 어딘가에 따로 뽑아내는 것”**입니다.
1단계: 1차 드롭다운 만들기 (대분류)
-
입력할 셀(예: D2)을 선택합니다.
-
[데이터] > [데이터 확인] 클릭.
-
기준을 **[드롭다운(범위의 목록)]**으로 선택하고, ‘DB’ 시트의 A열(대분류) 범위를 지정합니다.
-
(중복을 제거하고 싶다면
UNIQUE함수를 쓴 별도 범위를 지정하는 것이 좋지만, 일단 진행합니다.)
-
-
이제 D2 셀에서 ‘과일’, ‘고기’ 등을 선택할 수 있습니다.
2단계: 2차 목록을 생성할 ‘임시 공간’ 만들기 (핵심!)
사용자가 D2 셀에서 ‘과일’을 선택했을 때, ‘사과, 배, 포도’만 추려낼 공간이 필요합니다. 화면 구석이나 숨겨진 열(예: Z열)을 활용해 봅시다.
Z1 셀에 아래 수식을 입력합니다.
=FILTER('DB'!B:B, 'DB'!A:A = D2)
-
해석: ‘DB’ 시트의 A열이 **D2(사용자가 선택한 값)**와 똑같은 행을 찾아서, 그 행의 B열(소분류) 값만 가져와라.
-
결과: D2에서 ‘과일’을 고르면, Z열에 자동으로 사과, 배, 포도가 촤르륵 나타납니다. D2를 ‘고기’로 바꾸면? Z열도 소고기, 삼겹살로 바뀝니다!
3단계: 2차 드롭다운 연결하기 (소분류)
이제 마지막 단계입니다.
-
2차 입력을 받을 셀(예: E2)을 선택합니다.
-
[데이터] > [데이터 확인] 클릭.
-
기준을 **[드롭다운(범위의 목록)]**으로 선택합니다.
-
범위를 방금 만든 **임시 공간(Z1:Z10)**으로 지정합니다.
-
[완료]를 누릅니다.
이제 테스트해 보세요.
-
D2에서 ‘과일’을 선택합니다.
-
E2를 클릭하면? 놀랍게도 ‘사과, 배, 포도’만 나옵니다.
-
D2를 ‘고기’로 바꿉니다.
-
E2를 클릭하면? ‘소고기, 삼겹살’로 목록이 바뀌어 있습니다.
4. 주의사항 및 고급 팁
⚠️ 1차 선택을 바꾸면 2차 값은?
사용자가 ‘과일-사과’를 선택했다가, 마음이 바뀌어 1차를 ‘고기’로 바꿨다고 칩시다. 2차 셀에는 여전히 ‘사과’가 남아있게 됩니다. 이때 구글 시트는 똑똑하게도 ‘빨간색 삼각형(유효하지 않은 값)’ 경고를 띄워줍니다. 사용자는 이걸 보고 “아, 다시 선택해야 하는구나”라고 알 수 있습니다.
⚠️ 여러 줄에 적용하려면? (대량 입력)
위 방법은 입력칸이 1개(단일 행)일 때 가장 완벽합니다. 만약 100명의 데이터를 입력해야 해서 100개의 행 모두에 종속 드롭다운을 적용해야 한다면 FILTER 함수만으로는 어렵습니다.
이때는 **앱스 스크립트(Apps Script)**를 사용하거나, INDIRECT와 이름이 지정된 범위를 조합하는 엑셀 방식을 차용해야 하는데, 이는 난이도가 높고 시트가 무거워질 수 있습니다.
실무 추천:
대시보드나 검색창처럼 **’상단 검색 조건’**을 만들 때 이 종속 드롭다운 방식을 사용하고, 그 결과를 바탕으로 아래에 데이터를 뿌려주는 형태로 구성하는 것이 가장 효율적입니다.
사용자 경험(UX)을 설계하세요
드롭다운 목록 하나만 잘 만들어도 시트를 사용하는 팀원들의 스트레스가 절반으로 줄어듭니다.
“목록이 너무 길어서 못 찾겠어요.”
“실수로 엉뚱한 품목을 입력했어요.”
이런 불만이 들려온다면, 지금 바로 FILTER 함수를 활용한 동적 종속 드롭다운을 적용해 보세요. 여러분의 시트가 단순한 문서 도구를 넘어, 하나의 ‘프로그램’처럼 작동하게 될 것입니다.