[257회 라이브 공지] 이번 주 라이브는 `3/4(수) 오후 8시` 에 진행합니다! 오빠두엑셀 `2026 무료 챌린지` 오픈! 완주하고 수료증 받아가세요! 5년 연속 IT분야 베스트셀러! 「 진짜쓰는 실무엑셀 」로 2026년 공부 끝내기 엑셀이 막히셨나요? Q&A 게시판에서 바로 해결하세요.
메뉴

엑셀 이중 유효성 검사 목록상자 만들기 :: 엑셀 함수 공식

2중 조건을 만족하는 데이터유효성 목록상자를 생성하는 엑셀 함수 공식의 동작원리와 실전 예제를 알아봅니다.

작성자 :
오빠두엑셀
최종 수정일 : 2021. 10. 31. 15:58
URL 복사
메모 남기기 : (36)

엑셀 이중 유효성 검사 목록상자 함수 공식

이중 유효성 검사 목차 바로가기
이중 유효성 검사 목록상자란?

엑셀 이중 유효성 검사 목록상자란, 이전에 선택된 조건을 만족하는 값만 불러오는 데이터 유효성 검사의 응용기능의니다. 이중 유효성 목록상자는 아래의 함수 공식으로 아주 간단하게 적용할 수 있습니다. 단, 이중유효성 목록상자 공식은 셀에 직접 입력하지 않고, '이름정의범위'를 사용합니다.

이중 유효성 목록상자 설명 예제
이중유효성 목록상자로 데이터 입력을 제한합니다
사용예제
엑셀 이중유효성 목록상자 완성
이중유효성 검사로 조건별 데이터 입력을 제한할 수 있습니다
함수공식

OFFSET (시작셀, MATCH(참조값, 찾을범위,0)-1, n, COUNTIF(찾을범위,참조값), 1)

인수 설명
이중유효성검사 인수설명
이중 유효성검사 공식은 4개의 인수만 사용합니다
인수 설명
시작셀 참조범위의 첫번째 셀입니다.
참조값 데이터유효성 목록의 조건이 입력된 셀입니다.
찾을범위 참조값을 찾을 범위입니다.
n 찾을범위를 기준('0')으로한 출력범위의 열 번호입니다.

예제파일 다운로드

오빠두엑셀의 강의 예제파일은 여러분을 위해 자유롭게 제공하고 있습니다.

  • [엑셀공식] 이중 유효성 목록상자 만들기 공식
    예제파일

관련 기초함수

엑셀 이중유효성 검사 목록상자 공식 자세히 알아보기

본 예제파일에서 사용된 함수 공식

이중 유효성 검사 함수 공식은 '이름정의범위'를 이용합니다. 따라서 엑셀 화면 상단의 [수식] - [이름관리자]로 이동한 뒤, [새로 만들기]를 클릭합니다. 새로운 이름정의범위를 생성하기 위한 창이 나타나면 아래 수식을 입력합니다.

수식 - 이름관리자 삽입
[수식] - [이름관리자]로 이동하여 '이름정의범위'를 생성합니다.
이름 : 제품선택
참조대상 : = OFFSET($B$3, MATCH($E$3,$B$3:$B$11,0)-1,1,COUNTIF($B$3:$B$11,$E$3), 1)
이중유효성 공식 예제
이중 유효성 목록상자를 위한 '이름정의범위'를 추가합니다.
공식 원리 이해하기
  1. COUNTIF 함수의 동작원리

    = COUNTIF ( 참조범위, 찾을값 )

    COUNTIF 함수는 '참조범위' 안에서 '찾을값'의 개수를 반환합니다. 예제에서는 '구분' 범위에서 '채소' 값의 개수를 세어 반환합니다.

    = COUNTIF($B$3:$B$11,$E$3)
    = 3  '// '구분' 범위에서 '채소'는 3개 입니다.

    COUNTIF 함수 구분범위에서 채소 개수
    '구분' 범위에서 '채소'의 개수를 반환합니다.
  2. MATCH 함수의 동작원리

    = MATCH ( 찾을값, 참조범위, 0 )

    MATCH 함수는 참조범위에서 찾을값이 첫번째로 위치한 셀의 위치를 숫자로 반환합니다. 예제에서는 '구분'범위에서 '채소'가 첫번째로 위치한 셀의 순번인 '4'를 반환합니다.

    =MATCH($E$3,$B$3:$B$11,0)
    =4 '// '구분' 범위에서 '채소'의 첫번째 셀은 4번째에 있습니다.

    MATCH 함수 동작원리
    MATCH 함수는 찾을값의 위치를 반환합니다.
  3. OFFSET 함수의 동작원리
    = OFFSET( 시작셀, 아래이동, 우측이동, [상하넓이], [좌우넓이] )

    OFFSET 함수는 시작셀을 기준으로 아래방향, 오른쪽방향으로 이동한 뒤, 이동한 곳에서 상하/좌우로 확장된 범위를 반환합니다.
    엑셀 이중유효성 목록상자 공식에서 OFFSET 함수에 들어가는 인수는 아래와 같습니다.

    1. 시작셀
    2. 아래이동 : MATCH 함수 결과값 -1 (*OFFSET 함수는 아래이동으로 '1' 입력시 바로 1칸을 이동하므로 MATCH 함수 결과값에서 1을 빼주는 것에 주의합니다.)
    3. 우측이동 : n
    4. 상하넓이 : COUNTIF 함수 결과값
    5. 좌우넓이 : 1

    이제 각 인수를 OFFSET 함수에 대입하면 아래의 순서로 동작합니다.
    이중 유효성 목록상자 동작원리 총정리

    = OFFSET($B$3, MATCH($E$3,$B$3:$B$11,0)-1,1,COUNTIF($B$3:$B$11,$E$3), 1)
    = OFFSET($B$3, 4-1, 1, 3, 1)
    = OFFSET($B$3, 3, 1, 3, 1)
    = B3셀을 기준으로 아래로 3칸 이동, 우측으로 1칸 이동한 뒤, 위아래로 3칸을 넓힌 범위를 반환합니다.
  4. 이중 유효성 목록상자 적용하기
    이중 유효성 목록상자를 적용할 셀(예제파일 F3셀)을 선택합니다. 엑셀 화면 상단에서 [데이터] - [데이터 유효성검사] 로 이동합니다.
    데이터 유효성검사 이동
    [데이터] - [데이터유효성검사] 로 이동합니다.
    데이터 유효성검사 적용을 위한 창이 나타나면, [제한대상]에서 '목록'을 선택합니다. 이후 [원본]에 커서를 이동한 뒤, 키보드 F3키를 누르면 '이름정의범위'를 선택하기 위한 창이 나타납니다. 이중유효성목록으로 적용할 범위를 선택한 뒤, [확인]을 눌러 마무리합니다.

    이중 유효성검사 적용하기
    이름정의범위를 이중 유효성검사 목록상자로 지정합니다
  5. 이중 유효성 목록상자 사용하기
    이중 유효성 목록상자의 조건(예제파일 'E3'셀)을 변경하면 조건에 따라 목록상자의 값이 바뀌는 것을 확인할 수 있습니다.

    엑셀 이중유효성 목록상자 완성 GIF
    조건에 따라 목록상자의 값이 달라집니다

[링크] MS 홈페이지 엑셀 데이터유효성 드롭가운 목록 만들기 상세설명

댓글 36
4.9 (26개 평가)
닥코드
닥코드 2020.04.08 10:14
좋은 내용 감사합니다.
엑셀고고
엑셀고고 2020.04.13 10:32
너무 유용합니다 감사합니다
parispgoon
parispgoon 2020.05.18 04:14
안녕하세요- 좋은 강의 감사드립니다. 유튜브에서 보다가 여기까지 왔습니다. 강의를 보다 질문을 하고 싶은데요. 쉐어포인트에 등록후 여러 직원들이 온라인으로 동시에 입력 가능한 물건발송대장 자동화 서식을 만들려고 합니다. 예를 들어 오늘 2020년5월17일에 보낸 레퍼런스가 INVOICE/2020/A1 이라고 가정하면, 그 다음에 등록을 하려는 직원이 등록을 할때 따로 작성할 필요없이 그 다음칸에 INVOICE/2020/A2 이렇게 자동으로 입력되게끔 하게 할려면 어떤 기능을 써야 하는지, 그리고 이 경우 한번 작성이 된 레퍼런스는 수정이 불가능하게 할려면 어떻게 해야 하나요? 이런 자동화 서식 강의도 올려주심 좋을거 같습니다. 감사합니다!
오빠두엑셀
오빠두엑셀 작성자 2020.05.18 14:43
안녕하세요? 자동으로 입력되게끔 하게 할려면 어떤 기능을 써야 하는지 => 어느정도까지 자동화하느냐, 자료가 어떻게 관리되느냐에 따라 다릅니다. 쉐어포인트로는 100% 자동화가 불가능하며 최소한의 매뉴얼작업이 필요합니다. 만약 서식시트 / 레퍼런스번호시트가 따로 관리된다면, 서식시트에서 레퍼런스 번호가 입력되는 셀에 [ =값+1 ] 로 최근 입력된 레퍼런스번호+1 이 입력되도록 관리할 수 있습니다. 한번 작성이 된 레퍼런스는 수정이 불가능하게 할려면 어떻게 해야 하나요? 불가능합니다. 사용자에게 읽기권한만 주어 아예 수정이 불가능하게 할 수 있지만, 처음 작성시에만 수정가능.. 이런 기능은 없는 것으로 알고 있습니다.^^; 쉐어포인트를 마지막으로 쓴게 2019년 초라.. 정확하지 않을수도 있으니 권한설정을 한번 확인해보시기 바랍니다.
김민수
김민수 2020.05.25 16:19
좋은정보 감사합니다
GZM
GZM 2020.05.27 16:08
유용한 내용입니다.
홍예지
홍예지 2020.06.25 13:05
너무 유용한 포스트였습니다! 고급 정보 정말 감사드려요 :)
김소정
김소정 2020.08.14 07:54
안녕하세요, 종속 드롭목록 만드는거 찾다가 선생님꺼 보면서 하고있는데요~ A, B, C로 A값선택시 B바뀌고 B선택시 C바꾸고하는데요, 한번 드롭을 A B C순차적으로 선택후 B를 다시선택하면 C셀에 이전에 선택값이 그대로있는데,혹시 삭제하는방법있을까요? 유효하지않은값인데, 체크못하는거 같아요,
오빠두엑셀
오빠두엑셀 작성자 2020.08.14 15:22
안녕하세요? :) 말씀하신 기능은 내장함수만으로는 구현이 불가능하구요.. 시트의 Change 이벤트를 VBA코드로 작성하셔야만 구현할 수 있는 기능입니다.
김소정
김소정 2020.08.14 20:04
아하, 네네~ 찾아보고 해보겠습니다.
orora588
orora588 2020.09.19 05:34
좋은 강의 감사해요.
켄타로
켄타로 2020.09.23 00:27
내일 회사가서 써먹어야겠다! 감사합니다!
하윤정
하윤정 2020.10.30 08:56
안녕하세요 데이터유효성 목록을 만드려고 합니다. 처음 데이터를 만드는 과정이라 구분 제품처럼 목록테이블을 먼저 만들지 않았는데 혹시 따로 추출하는 방법이 있을까요? ㅠㅠ
오빠두엑셀
오빠두엑셀 작성자 2020.10.30 20:51
안녕하세요? 따로 추출하신다는 작업이 정확히 이해되질 않습니다..ㅜㅜ 좀 더 자세히 설명해주시겠어요? 또는 엑셀 커뮤니티에 좀 더 자세한 상황설명을 적어주시면 확인 후 답변 드리겠습니다. 감사합니다.