안녕하세요! 엑셀의 모든 것을 알려드리고픈 여러분의 엑셀 도우미입니다. 😊
혹시 방대한 데이터 목록에서 '특정 조건에 딱 맞는 값 하나'를 찾아야 하는데, VLOOKUP을 쓰자니 중복된 값이 걱정되고, 필터를 걸자니 번거로웠던 경험 없으신가요? 이럴 때 우리를 구해줄 똑똑한 탐정 같은 함수가 바로 엑셀 DGET 함수랍니다. 오늘은 많은 분들이 잘 모르지만, 한번 알게 되면 정말 유용하게 사용하는 DGET 함수에 대해 쉽고 재미있게 배워볼게요!
📌 [핵심] DGET 함수는 데이터베이스 범위에서 지정한 조건에 맞는 '유일한' 값을 찾아주는 가장 정확한 방법이에요.
📊 엑셀 DGET 함수란 무엇일까요?
DGET 함수는 엑셀의 '데이터베이스(Database)' 함수 그룹에 속해있는 함수예요. 이름 앞의 'D'가 바로 데이터베이스를 의미하죠.
쉽게 말해, 우리가 지정한 데이터 목록(데이터베이스)에서, 우리가 제시하는 조건(Criteria)에 정확히 일치하는 단 하나의 결과값을 쏙 뽑아주는 아주 똑똑한 함수랍니다.
"어? VLOOKUP 이랑 비슷한 거 아닌가요?" 라고 생각하실 수 있어요. 좋은 질문이에요! 👍
- VLOOKUP은 조건에 맞는 여러 값이 있어도 가장 처음에 찾은 값 하나만을 보여줘요.
- DGET은 조건에 맞는 값이 오직 하나일 때만 결과를 보여주고, 여러 개이거나 하나도 없으면 오류를 표시해요.
그래서 데이터의 정확성과 유일성이 중요할 때 DGET 함수는 최고의 선택이 될 수 있답니다.
⚙️ DGET 함수 기본 구문 및 인수 파헤치기
DGET 함수의 기본 구조는 생각보다 간단해요. 딱 3가지만 기억하면 된답니다!
함수 구문:
=DGET(database, field, criteria)
함수 인수:
- database: 표 전체 범위를 의미해요. 반드시 제목(헤더) 행을 포함해서 전체 범위를 잡아주셔야 해요. DGET 함수가 제목을 보고 데이터를 인식하기 때문이에요.
- field: 결과를 가져올 열의 제목(헤더)이에요. 예를 들어 '이름' 을 가져오고 싶다면 "이름" 이라고 적힌 셀을 클릭하거나, 해당 열이 몇 번째에 있는지 숫자를 입력할 수 있어요. (하지만 제목 셀을 클릭하는 게 더 안전하고 직관적이에요!)
- criteria: 검색 조건이 입력된 범위예요. 이게 DGET 함수의 핵심이죠! 찾을 조건의 제목(헤더)과 실제 조건을 미리 다른 셀에 작성해 두어야 해요. 이때 criteria의 제목(헤더)은 database의 제목(헤더)과 반드시 같아야 인식이 가능해요.
📝 노트. 꼭 기억하세요!
DGET 함수를 포함한 모든 데이터베이스 함수의 성공 여부는 criteria (조건 범위)를 어떻게 만드느냐에 달려있어요. 조건 범위의 제목과 데이터 원본의 제목이 띄어쓰기 하나까지 똑같아야 한다는 점, 잊지 마세요!
📝 DGET 함수 실전 예제 따라하기
사용해 보는 것이 가장 쉽게 배우는 방법이죠! 직접 예제를 통해 DGET 함수와 친해져 봐요.
예제 1: 기본 사용법 - 사원번호로 이름 찾아오기
가장 기본적인 사용법이에요. 고유한 '사원번호'를 이용해 해당하는 직원의 '이름'을 찾아볼게요.
[데이터]
사원번호,이름,부서,직급,입사일
"EMP001","김민준","인사팀","대리","2022-03-15"
"EMP002","이서연","영업팀","과장","2020-11-20"
"EMP003","박도윤","개발팀","사원","2023-01-10"
"EMP004","최아라","마케팅팀","주임","2022-08-01"
"EMP005","정시우","영업팀","대리","2021-05-25"
"EMP006","윤지아","개발팀","과장","2019-07-30"
"EMP007","강하준","인사팀","사원","2023-09-01"
"EMP008","송채원","마케팅팀","과장","2018-12-12"
- 먼저 위 데이터를 엑셀 시트 A1:E9 범위에 붙여넣어 주세요.
- 조건(criteria)을 입력할 공간을 만들어야 해요. G1 셀에 사원번호, G2 셀에 EMP004 라고 입력해 보세요. (G1:G2가 조건 범위가 됩니다)
- 결과를 표시할 셀에 아래 수식을 입력해 보세요.
[수식]
=DGET(A1:E9, "이름", G1:G2)
=DGET(A1:E9, B1, G1:G2)
=DGET(A1:E9, 2, G1:G2)
- A1:E9 : 제목을 포함한 전체 데이터 범위(database)
- "이름" : 우리가 결과를 가져오고 싶은 열의 제목(field), 두번째 열이니 2를 입력해도 좋고, "이름" 이 입력된 B1 을 참조해도 되요.
- G1:G2 : 검색 조건 범위(criteria)

결과: "최아라" 라는 값이 정확하게 표시될 거예요! G2 셀의 사원번호를 바꾸면 이름도 실시간으로 바뀐답니다.
예제 2: 중급 활용 - 두 가지 조건에 맞는 영업 실적 찾기
이번엔 조건을 2개로 늘려볼게요. '영업팀' 소속의 '과장' 직급인 직원의 '영업실적'을 찾아볼까요?
[데이터]
이름,부서,직급,영업실적(백만원)
"김영업","영업1팀","과장",1500
"나실적","영업2팀","대리",900
"박매출","영업1팀","사원",750
"이달성","영업2팀","과장",1800
"최고객","마케팅팀","과장",500
"정계약","영업1팀","대리",1100
"조판촉","마케팅팀","대리",600
"한세일","영업2팀","사원",820
- 위 데이터를 A1:D9 범위에 입력하세요.
- 조건 범위를 F1:G2에 만들어 볼게요. F1에 부서, G1에 직급 을 입력하고, F2에 영업2팀, G2에 과장 이라고 입력하세요. (조건이 여러 개일 땐 이렇게 가로로 나란히 입력하면 AND 조건이 돼요!)
- 결과 셀에 수식을 입력합니다.
[수식]
=DGET(A1:D9, "영업실적(백만원)", F1:G2)

결과: 1800 이라는 값이 나타날 거예요. '영업2팀'이면서 '과장'인 유일한 사람, 바로 '이달성'의 실적이죠!
예제 3: 실무 응용 - 재고가 10개 미만인 상품의 단가 조회하기
숫자 조건을 활용하는 실무 예제예요. 재고가 부족한(10개 미만) 상품이 단 하나일 때 그 상품의 단가를 바로 확인하고 싶을 때 유용해요.
[데이터]
상품코드,상품명,카테고리,재고수량,단가
"PD-001","스마트키보드","주변기기",25,55000
"PD-002","무선마우스","주변기기",8,28000
"PD-003","QHD모니터","모니터",15,320000
"PD-004","노트북파우치","액세서리",50,19000
"PD-005","USB-C 허브","액세서리",30,45000
"PD-006","웹캠","주변기기",12,89000
"PD-007","블루투스스피커","음향기기",5,120000
"PD-008","게이밍헤드셋","음향기기",18,76000
데이터 범위는 A1:E9 , 조건 범위는 G1:G2, 조건은 G1 에 재고수량, G2 에 <10
[수식]
=DGET(A1:E9, "단가", G1:G2)
이 경우, 재고가 10개 미만인 상품이 '무선마우스(8개)'와 '블루투스스피커(5개)'로 2개이므로 DGET 함수는 #NUM! 오류를 반환합니다.

만약 재고가 10개 미만인 상품이 '무선마우스' 하나 뿐이었다면 ...
데이터를 위와 같이 준비하고, '블루투스스피커' 의 재고수량을 15로 수정했다고 가정해 볼게요. 이때는 10미만의 재고가 '무선마우스' 뿐이므로 정상적인 결과가 반환 됩니다.
결과: 재고 10개 미만인 유일한 상품 '무선마우스' 의 단가인 28000 이 출력됩니다.
🤔 DGET 함수, 이럴 때 에러가 발생해요!
DGET 함수를 사용하다 보면 당황스러운 오류 메시지를 만날 수 있어요. 원인만 알면 해결은 간단해요!
- #NUM! : 조건에 맞는 결과가 2개 이상일 때 발생해요. DGET은 유일한 값을 원하는데, 여러 개가 발견되어서 "누구를 데려가야 할지 모르겠어요!" 라고 외치는 상황이죠. 조건을 더 구체적으로 추가해서 결과가 하나만 나오도록 만들어주세요.
- #VALUE! : 조건에 맞는 결과가 하나도 없을 때 발생해요. 또는 database, field, criteria 인수가 잘못되었을 경우에도 발생할 수 있어요. 조건을 다시 확인하거나 범위 설정을 점검해 보세요.
💡 DGET 함수와 함께 쓰면 좋은 친구들 (관련 함수)
DGET 함수를 배웠다면, 다른 D-Family 함수들도 쉽게 사용할 수 있어요. 사용법은 DGET과 완전히 똑같거든요!
- DSUM: 조건에 맞는 값들의 합계를 구해요. (예: 영업팀의 총 영업실적)
- DAVERAGE: 조건에 맞는 값들의 평균을 구해요. (예: 개발팀의 평균 연봉)
- DCOUNT: 조건에 맞는 숫자 데이터의 개수를 세요. (예: 재고가 100개 이상인 상품 수)
- VLOOKUP / INDEX+MATCH: DGET과 자주 비교되는 함수들이죠. 조건에 맞는 값이 여러 개 있어도 괜찮을 때, 첫 번째 값만 찾아오고 싶을 때 유용해요.
💙 오늘 배운 내용 한눈에 정리하기
자, 오늘 배운 DGET 함수를 마지막으로 정리해볼까요?
- DGET은 데이터베이스에서 조건에 맞는 유일한(단 하나의) 값을 찾아온다.
- 수식은 =DGET(전체범위, 결과열제목, 조건범위) 3가지 인수로 구성된다.
- 범위(전체, 조건)에는 반드시 제목(헤더)이 포함되어야 하고, 서로 제목이 일치해야 한다.
- 결과가 2개 이상이면 #NUM!, 결과가 없으면 #VALUE! 오류가 발생한다.
- 데이터의 정확성과 유일성이 생명인 업무(고유 ID로 정보 조회 등)에 활용하면 최고다!
어떠셨나요? DGET 함수, 더 이상 낯설지 않죠? 처음에는 criteria 범위를 따로 만드는 게 조금 어색할 수 있지만, 몇 번만 연습해보면 VLOOKUP보다 훨씬 강력하고 정확한 데이터 조회 도구가 될 수 있답니다. 오늘 배운 내용을 여러분의 업무 파일에 꼭 한번 적용해보세요!
궁금한 점이 있다면 언제든지 댓글로 질문 남겨주시구요, 오늘 내용이 유용했다면 공감과 공유도 부탁드려요! ❤️
작성자: 마늘빵
🚀 모바일에서 빠르게 다시보기
✅ DGET 함수란?
- 조건에 맞는 '딱 하나'의 결과만 찾아주는 정확한 탐정 함수
✅ 필수 공식
- =DGET(데이터전체, 가져올값_열제목, 조건범위)
✅ 핵심 포인트
- 모든 범위(데이터, 조건)에 제목 행 포함 필수!
- 조건 범위의 필드명과 데이터 필드명(열제목)은 완벽히 일치해야 함.
✅ 대표 오류 2가지
✅ 언제 쓸까?
- 사원번호, 주문번호 등 고유 ID로 특정 정보를 찾을 때
- 데이터 중복 여부를 확인하며 값을 찾아야 할 때