엑셀로 데이터를 분석하거나 정리할 때, 이런 상황 한 번쯤 겪어보셨을 거예요.
“특정 조건을 만족하는 값이 오직 하나라면? 그 값만 깔끔하게 딱 뽑아낼 수 없을까?”
많은 분들이 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을 사용하면서 겪는 가장 큰 함정이기도 합니다.
🧪 실전 예제: ‘거래처별 판매 데이터’에서 조건에 맞는 판매금액 찾기
👉 아래와 같이 데이터가 있을 때,
같은 거래처와 품목이 여러 번 등장하더라도,
‘순번’ 열을 조건으로 사용하면 절대 중복 없이 정확한 값을 찾을 수 있습니다.
예제 데이터는 아래와 같으며 실습을 하실수 있도록 예제 파일도 같이 올리도록 하겠습니다.
📊 예제 데이터
순번 | 거래처 | 지역 | 품목 | 단가 | 판매금액 |
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 함수는 특히 "엑셀 조건 검색", "엑셀 조건 하나만 추출"과 같은 키워드로 검색하는 분들에게 큰 도움이 되는 함수입니다.
'엑셀공부' 카테고리의 다른 글
엑셀 REPT 함수로 진행률 막대 만들기: 엑셀에서 진행률 표시하는 방법 (0) | 2025.06.04 |
---|---|
📌 엑셀에서 데이터가 안 보여요? 숨겨진 데이터 해결 방법 총정리! (2) | 2025.06.04 |
엑셀에서 날짜와 시간을 같은 셀에 입력하는 방법 (2) | 2025.05.21 |
📌 엑셀 VLOOKUP 열 번호 자동으로 찾는 법 – MATCH 함수로 실무형 수식 만들기 (1) | 2025.04.28 |
📊 엑셀에서 필터된 값만 합계 구하는 방법 – SUBTOTAL 함수 완전 정리! (0) | 2025.04.25 |
댓글