엑셀 DGET 함수 사용법, 특정 조건에 맞는 단 하나의 값을 정확하게 찾아올 때 (VLOOKUP과 비교 분석)

 

안녕하세요! 엑셀의 모든 것을 알려드리고픈 여러분의 엑셀 도우미입니다. 😊

 

혹시 방대한 데이터 목록에서 '특정 조건에 딱 맞는 값 하나'를 찾아야 하는데, 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"
  1. 먼저 위 데이터를 엑셀 시트 A1:E9 범위에 붙여넣어 주세요.
  2. 조건(criteria)을 입력할 공간을 만들어야 해요. G1 셀에 사원번호, G2 셀에 EMP004 라고 입력해 보세요. (G1:G2가 조건 범위가 됩니다)
  3. 결과를 표시할 셀에 아래 수식을 입력해 보세요.

[수식]

=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)

예제1. 엑셀 DGET 함수로 VLOOKUP 대신한 찾기

 

결과: "최아라" 라는 값이 정확하게 표시될 거예요! G2 셀의 사원번호를 바꾸면 이름도 실시간으로 바뀐답니다.

 

예제 2: 중급 활용 - 두 가지 조건에 맞는 영업 실적 찾기

이번엔 조건을 2개로 늘려볼게요. '영업팀' 소속의 '과장' 직급인 직원의 '영업실적'을 찾아볼까요?

 

[데이터]

이름,부서,직급,영업실적(백만원)
"김영업","영업1팀","과장",1500
"나실적","영업2팀","대리",900
"박매출","영업1팀","사원",750
"이달성","영업2팀","과장",1800
"최고객","마케팅팀","과장",500
"정계약","영업1팀","대리",1100
"조판촉","마케팅팀","대리",600
"한세일","영업2팀","사원",820
  1. 위 데이터를 A1:D9 범위에 입력하세요.
  2. 조건 범위를 F1:G2에 만들어 볼게요. F1에 부서, G1에 직급 을 입력하고, F2에 영업2팀, G2에 과장 이라고 입력하세요. (조건이 여러 개일 땐 이렇게 가로로 나란히 입력하면 AND 조건이 돼요!)
  3. 결과 셀에 수식을 입력합니다.

[수식]

=DGET(A1:D9, "영업실적(백만원)", F1:G2)

예제2. 엑셀 DGET 함수 두 조건 AND 조건 처리하여 찾기

 

결과: 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! 오류를 반환합니다.

예제3. 엑셀 DGET 함수가 #NUM! 오류를 발생하는 가장 일반적 이유 - 찾기 결과 2개 이상

 

만약 재고가 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 함수를 마지막으로 정리해볼까요?

  1. DGET은 데이터베이스에서 조건에 맞는 유일한(단 하나의) 값을 찾아온다.
  2. 수식은 =DGET(전체범위, 결과열제목, 조건범위) 3가지 인수로 구성된다.
  3. 범위(전체, 조건)에는 반드시 제목(헤더)이 포함되어야 하고, 서로 제목이 일치해야 한다.
  4. 결과가 2개 이상이면 #NUM!, 결과가 없으면 #VALUE! 오류가 발생한다.
  5. 데이터의 정확성과 유일성이 생명인 업무(고유 ID로 정보 조회 등)에 활용하면 최고다!

어떠셨나요? DGET 함수, 더 이상 낯설지 않죠? 처음에는 criteria 범위를 따로 만드는 게 조금 어색할 수 있지만, 몇 번만 연습해보면 VLOOKUP보다 훨씬 강력하고 정확한 데이터 조회 도구가 될 수 있답니다. 오늘 배운 내용을 여러분의 업무 파일에 꼭 한번 적용해보세요!

 

궁금한 점이 있다면 언제든지 댓글로 질문 남겨주시구요, 오늘 내용이 유용했다면 공감과 공유도 부탁드려요! ❤️

 

 

작성자: 마늘빵


🚀 모바일에서 빠르게 다시보기

✅ DGET 함수란?

  • 조건에 맞는 '딱 하나'의 결과만 찾아주는 정확한 탐정 함수

✅ 필수 공식

  • =DGET(데이터전체, 가져올값_열제목, 조건범위)

✅ 핵심 포인트

  • 모든 범위(데이터, 조건)에 제목 행 포함 필수!
  • 조건 범위의 필드명과 데이터 필드명(열제목)은 완벽히 일치해야 함.

✅ 대표 오류 2가지

  • #NUM! : 결과가 2개 이상 (너무 많음)
  • #VALUE! : 결과가 없음 (아예 없음)

✅ 언제 쓸까?

  • 사원번호, 주문번호 등 고유 ID로 특정 정보를 찾을 때
  • 데이터 중복 여부를 확인하며 값을 찾아야 할 때