엑셀의 데이터베이스(Database)함수는 다양한 조건에 맞는 합계를 구한다던지, 평균, 갯수, 최대값, 최소값 등을 쉽게 구할 수 있는 함수이다.
모든 데이터베이스 함수는 알파벳 “D”로 시작하며 DGET, DAVERAGE, DSUM, DCOUNT, DMAX, DMIN 등이 있다.
오늘 알아볼 DGET함수는 데이터베이스로 지정한 범위에서 조건을 만족하는 하나의 값을 구해준다.
※ 데이터베이스 함수를 사용하기 위해서는 데이터베이스 범위 지정, 조건 설정 등을 먼저 이해할 필요가 있으므로 다음 링크를 참조하자.
[ 엑셀 데이터베이스(Database) 함수 이해하기 ]
DGET(database, field, criteria)
데이터베이스(database)에서 조건(criteria)에 맞는 하나의 항목(field)을 구해준다.
만약, 조건에 맞는 항목이 없으면 #VALUE! 오류 값이 반환되고,
조건에 맞는 항목이 여러 개이면 #NUM! 오류 값이 반환된다.
인수 :
– database : 값을 찾을 셀 범위
– field : 하나의 값을 구할 필드
– criteria : 조건을 설정할 범위
사용예 :
1) 두가지 조건을 동시에 만족하는 하나의 값 구하기(AND조건)
아래 그림과 같이 시트의 $B$4:$G$19 범위에 어떤 회사의 판매실적자료가 있다고 할 때
거래처가 “강남아트박스”이고 상품분류가 “복사용지”인 것의 판매금액 1개를 구해보자.
논리식으로 표현하면 다음과 같다.
(거래처="강남아트박스" AND 상품분류 = "복사용지")
B31셀에 다음 수식을 입력한다.
=DGET($B$4:$G$19,"판매금액",B23:C24)
수식의 인수를 하나씩 살펴보자.
=DGET($B$4:$G$19,"판매금액",B23:C24)
- $B$4:$G$19 : 값을 찾을 범위(Database)
- “판매금액” : 하나의 값을 구할 필드(Database의 “판매금액” 필드명을 의미한다)
- B23:C24 : 값을 찾을 조건을 설정할 범위
세번째 인수 “B23:C24″의 범위를 유심히 살펴보자.
필드명 “거래처”와 “상품분류”가 단순히 제목역할만 하는 것이 아니고 실제로 값을 찾을 때 사용되는 필드명이다. 따라서 필드명이 Database영역의 필드명과 틀리면 값이 찾아지지 않으므로 주의해야 한다.
수식이 정상적으로 입력되었다면,
- 거래처가 “강남아트박스”이고
- 상품분류가 “복사용지”인 자료가
아래와 같이 1개가 찾아지고
최종적으로 B31셀에 “판매금액” 필드의 값 600,000원이 표시된다.
2) 세가지 조건을 동시에 만족하는 하나의 값 구하기(AND조건)
거래처가 "강남아트박스"이고 상품분류가 "복사용지"이고 단가가 5000원 미만인 것의 판매금액 1개를 구해보자.
논리식으로 표현하면 다음과 같다.
(거래처="강남아트박스" AND 상품분류 = "복사용지" AND 단가 <5000)
B35셀에 다음 수식을 입력한다.
=DGET($B$4:$G$19,"판매금액",B23:D24)
수식의 인수를 하나씩 살펴보자.
=DGET($B$4:$G$19,"판매금액",B23:D24)
- $B$4:$G$19 : 값을 찾을 범위(Database)
- “판매금액” : 하나의 값을 구할 필드(Database의 “판매금액” 필드명을 의미한다)
- B23:D24 : 값을 찾을 조건을 설정할 범위
수식이 정상적으로 입력되었다면,
- 거래처가 "강남아트박스"이고
- 상품분류가 "복사용지"이고
- 단가가 5000원 미만인 조건을 만족하는 자료는
존재하지 않으므로 최종적으로 B35셀에 #VALUE! 오류가 표시된다.
3) 조건을 하나라도 만족하는 하나의 값 구하기(OR조건)
거래처가 "강남아트박스"이거나 "종로"로 시작하거나 "나나문구"인 것의 판매금액 하나를 구해보자.
논리식으로 표현하면 다음과 같다.
(거래처="강남아트박스" OR 거래처="종로*" OR 거래처="나나문구")
B39셀에 다음 수식을 입력한다.
=DGET($B$4:$G$19,"판매금액",B23:B26)
수식의 인수를 하나씩 살펴보자.
=DGET($B$4:$G$19,"판매금액",B23:B26)
- $B$4:$G$19 : 값을 찾을 범위(Database)
- “판매금액” : 하나의 값을 구할 필드(Database의 “판매금액” 필드명을 의미한다)
- B23:B26 : 값을 찾을 조건을 설정할 범위
세번째 인수 “B23:B26″의 범위를 살펴보자.
필드명 밑에 입력된 조건값들이 각각 다른 행에 있으므로 “또는(OR)“조건이 적용된다.
※ 값을 찾을 조건 지정 시 AND조건과 OR조건을 설정하는 방법
Database함수의 마지막 인수인 “조건을 설정할 범위”의 형태에 따라서
AND조건이 되기도 하고 OR조건이 된다.
다음 그림을 확인해 보자.
- 같은 행에 설정하면 AND 조건
수식이 정상적으로 입력되었다면, 거래처가
- 거래처가 "강남아트박스"이거나
- "종로"로 시작하거나
- "나나문구"인 자료가
아래와 같이 1개가 아니라 11개가 찾아지므로
최종적으로 B39셀에 #NUM! 오류가 표시된다.
이 것으로 엑셀의 DGET함수에 대한 설명을 마친다. 다른 데이터베이스 함수의 설명은 아래 링크를 참조하자.
[ 엑셀 데이터베이스 함수 ]
- DSTDEVP 함수 - 데이터베이스에서 조건에 맞는 항목의 모집단 표준편차 구하기
- DSTDEV 함수 - 데이터베이스에서 표본집단 표준편차 구하기
- DVARP 함수 - 데이터베이스에서 조건에 맞는 항목의 모집단 분산 구하기
- DVAR 함수 - 데이터베이스에서 조건에 맞는 항목의 표본집단 분산 구하기
- DPRODUCT 함수 - 데이터베이스에서 조건에 맞는 항목을 곱하기
- DGET 함수 - 데이터베이스에서 조건에 맞는 하나의 값 구하기
- DMIN 함수 - 데이터베이스에서 조건에 맞는 항목의 최소값 구하기
- DMAX 함수 - 데이터베이스에서 조건에 맞는 항목의 최대값 구하기
- DSUM 함수 - 데이터베이스에서 조건에 맞는 항목의 합계 구하기
- DCOUNTA 함수 - 데이터베이스에서 비어 있지 않은 셀의 개수 구하기
- DCOUNT 함수 - 데이터베이스에서 숫자가 포함된 셀의 개수 구하기
- DAVERAGE 함수 - 데이터베이스에서 평균구하기
- 엑셀 데이터베이스(Database) 함수 이해하기