본문 바로가기
엑셀공부

📌 엑셀에서 조건에 맞는 ‘단 하나의 값’을 정확히 찾고 싶다면? DGET 함수로 해결하세요!

by 곰탱이생각 2025. 6. 2.
반응형

엑셀로 데이터를 분석하거나 정리할 때, 이런 상황 한 번쯤 겪어보셨을 거예요.

“특정 조건을 만족하는 값이 오직 하나라면? 그 값만 깔끔하게 딱 뽑아낼 수 없을까?”

많은 분들이 VLOOKUP, FILTER, INDEX/MATCH 같은 함수들을 써보지만,
조건이 복잡하거나 중복된 데이터가 섞여 있을 때는 원하는 결과가 잘 나오지 않죠.

이럴 때 사용하기 좋은 함수가 바로 DGET 함수입니다.

그런데 이 함수는 조금 생소할 수도 있어서 검색할 때 "엑셀 조건에 맞는 값 하나만 추출", "엑셀에서 특정 조건에 맞는 셀만 선택", 혹은 **"엑셀 유일한 값 찾기"**와 같이 찾아보는 분들이 많아요.

그리고  이 함수는 사용법이 조금 까다롭기 때문에, 잘못 쓰면 #VALUE!, #NUM! 오류가 나기 쉽습니다.

그래서 오늘은 이 DGET 함수의 원리부터 실전 활용 예제까지, 아주 쉽게 정리해드릴게요. 😊


✅ DGET 함수란? - 조건에 맞는 ‘유일한 값’만 뽑는 함수

DGET 함수는 데이터베이스 함수 중 하나로, 지정한 조건에 맞는 ‘하나의 값만’ 반환합니다.

DGET(database, field, criteria)
  • database: 분석할 전체 표 범위 (첫 행은 반드시 제목 행)
  • field: 반환할 열 제목 또는 열 번호
  • criteria: 조건이 들어간 범위 (제목 포함)

⚠ 조건에 맞는 값이 없으면 #VALUE!, 둘 이상이면 #NUM! 오류가 발생해요. 즉, 반드시 단 하나의 값만 존재해야 정확히 결과가 나옵니다.


❗ 반드시 기억해야 할 핵심 원칙

✅ 조건을 만족하는 행이 '정확히 1개'여야 합니다.
❌ 2개 이상이면 → #NUM! 오류
❌ 조건이 없거나 없으면 → #VALUE! 오류

즉, DGET은 **"유일한 값만 정확히 추출하는 함수"**입니다.
그래서 데이터가 중복되면 무조건 오류가 납니다.

이게 많은 분들이 DGET을 사용하면서 겪는 가장 큰 함정이기도 합니다.

🧪 실전 예제: ‘거래처별 판매 데이터’에서 조건에 맞는 판매금액 찾기

👉 아래와 같이 데이터가 있을 때,
같은 거래처와 품목이 여러 번 등장하더라도,
‘순번’ 열을 조건으로 사용하면 절대 중복 없이 정확한 값을 찾을 수 있습니다.

 

예제 데이터는 아래와 같으며 실습을 하실수 있도록 예제 파일도 같이 올리도록 하겠습니다.

Dget함수 예제.xlsx
0.01MB

📊 예제 데이터

순번 거래처 지역 품목 단가 판매금액
1 강남아트박스 서울 복사용지 4,500 450,000
2 종로문구 서울 볼펜 1,200 240,000
3 나나문구 인천 연필 800 120,000
4 한솔문구 대전 복사용지 4,700 282,000
5 대흥문구 부산 볼펜 1,100 220,000
6 강남아트박스 서울 연필 900 135,000
7 나나문구 인천 복사용지 4,600 368,000
8 종로문구 서울 연필 850 127,500
9 대흥문구 부산 복사용지 4,900 441,000
10 한솔문구 대전 볼펜 1,300 260,000
11 강남아트박스 서울 복사용지 4,400 440,000
12 나나문구 인천 볼펜 1,000 200,000
13 종로문구 서울 복사용지 4,700 423,000
14 한솔문구 대전 연필 750 112,500
15 대흥문구 부산 연필 800 120,000
16 강남아트박스 서울 볼펜 1,250 250,000
17 종로문구 서울 연필 820 123,000
18 나나문구 인천 볼펜 1,150 230,000
19 한솔문구 대전 복사용지 4,600 322,000
20 대흥문구 부산 볼펜 1,350 270,000

📌 조건

순번 거래처 지역 품 목 단 가 판매금액
           

🎯 수식 

=DGET(A$1:F$21,I1, $H$1:$J$2)

🎯 이 수식은 순번이 3번인 행의 '거래처'만 정확히 반환합니다.
조건이 오직 하나의 행과만 일치하기 때문에 오류 없이 결과가 나옵니다.

조건에 맞는 행이 단 하나일 경우, 정확한 결과를 얻을 수 있습니다.

 

지역,품목,단가,판매금액의 경우 수식을 옆으로 핸들을 끌어주면 자동으로 반영됩니다.

 

그리고 또하나

항목의 이름을 변경해도 자동으로 아래 그림처럼 자동 반영 되니 참고 하시길 바랍니다.


🛠 만약 순번 없이 조건을 걸면?

예를 들어 아래처럼만 조건을 걸면…

거래처 품목
나나문구 연필

같은 조건이 여러 행에 존재할 수 있기 때문에

=DGET(A1:G21, "I1", H1:I2)

❌ → 결과: #NUM! 오류 발생!

✅ 해결책: 조건에 순번을 추가하거나, 거래일처럼 고유한 값을 함께 넣어주면 됩니다.

 


✅ DGET 함수에 절대참조가 꼭 필요한가요?

필수는 아니지만, 거의 항상 사용하는 걸 강력히 권장합니다.

왜냐하면…

  • 셀을 복사하거나 자동 채우기(Ctrl+D, Ctrl+R)를 할 때
  • 조건 범위나 데이터베이스 범위가 한 칸씩 밀리게 됨
  • 그러면 DGET 함수가 전혀 엉뚱한 범위를 조건으로 참조
  • → 결과 오류 or 의도하지 않은 값 반환

 

💡 그래서 DGET은 절대참조($)를 사용하는 게 안전한 함수입니다

 

❌ 상대참조로 쓴 경우 (위험함)➡ 이걸 아래로 복사하면 → A2:G22, H2:I3로 바뀌어 틀린 결과

 

➡ 복사해도 참조 범위가 항상 고정되어 정확한 결과

 


💡 언제 사용하면 좋을까?

  • 조건이 복잡한데, 그 결과가 하나뿐이어야 할 때
  • 고객ID, 제품번호, 거래번호 등 유일성을 보장하고 싶을 때
  • 조건 충족 결과가 하나 이상이면 오류로 걸러내고 싶을 때
  • VLOOKUP은 중복에 취약하고, 조건 여러 개를 쓰기 어렵다고 느낄 때

📝 마무리: DGET 함수로 ‘조건 검색’이 쉬워집니다!

복잡한 데이터를 쉽게 분석하고, 단 하나의 정확한 값만 뽑고 싶다면 DGET 함수가 정말 유용해요. 다른 함수처럼 널리 알려져 있지는 않지만, 활용도는 꽤 높고 실무에서도 자주 쓰이니 꼭 기억해두세요!

DGET 함수는 특히 "엑셀 조건 검색", "엑셀 조건 하나만 추출"과 같은 키워드로 검색하는 분들에게 큰 도움이 되는 함수입니다.


728x90
반응형
LIST