엑셀의 데이터베이스(Database)함수는 다양한 조건에 맞는 합계를 구하거나 평균, 개수 등을 쉽게 구할 수 있는 함수입니다.
엑셀에서 Database 다루기 강좌
- DAVERAGE - 데이터베이스에서 조건에 맞는 항목의 평균 구하기
- DCOUNT - 데이터베이스에서 숫자가 있는 셀의 개수 구하기
- DCOUNTA - 데이터베이스에서 데이터가 들어 있는 셀의 개수 구하기
- DGET - 데이터베이스에서 조건에 맞는 레코드가 하나인 경우 그 레코드 구하기
- DMAX - 선택한 데이터베이스 항목 중에서 최대값 구하기
- DMIN - 선택한 데이터베이스 항목 중에서 최소값 구하기
- DPRODUCT - 데이터베이스에서 조건에 맞는 특정 레코드 필드의 값을 곱하기
- DSTDEV - 데이터베이스 필드 값에서 표본 집단의 표준 편차 구하기
- DSTDEVP - 데이터베이스 필드 값에서 모집단의 표준 편차 구하기
- DSUM - 데이터베이스에서 조건에 맞는 항목의 합계 구하기
- DVAR - 데이터베이스 필드 값에서 표본 집단의 분산 구하기
- DVARP - 데이터베이스 필드 값에서 모집단의 분산 구하기
1. 자료 준비
데이터베이스 함수를 사용하기 위해서 가장 먼저 다음과 같이 열의 제목(필드라고 부름)이 포함된 자료를 준비합니다.
이것을 데이터베이스(Database)라고 부르는데 값을 찾기 위한 범위라고 생각하면 됩니다.
2. 값을 찾을 조건 설정
두번째는 값을 찾을 조건을 설정해야 합니다.
아래와 같이
- 조건을 설정할 '필드명'과
- 필드명 아래에 '조건값'을
입력합니다.
'필드명'과 '조건 값'은 데이터베이스 함수에서 찾는 범위를 정할 때 사용됩니다.
3. 수식 입력
데이터베이스 함수의 기본 구문은 다음과 같습니다.
DSUM함수는 데이터베이스(database)에서 조건(criteria)에 맞는 항목(field)의 합계를 구해줍니다.
DSUM, DAVERAGE, DCOUNT 등... 모든 함수가 구문이 같습니다.
1) DSUM함수로 조건을 동시에 만족하는 합계 구하기(AND조건)
DSUM함수로 거래처가 '신촌문구'이고 상품분류가 '노트'인 것의 판매액 합계를 구해보겠습니다.
논리식으로 표현하면 다음과 같습니다.
(거래처="신촌문구" AND 상품분류 = "노트")
=DSUM($B$4:$G$19,"판매금액",B23:C24)
수식 풀이:
=DSUM($B$4:$G$19,"판매금액",B23:C24)
- $B$4:$G$19 : 값을 찾을 범위(Database)
- "판매금액" : 합계를 구할 필드(Database의 "판매금액" 필드명을 의미)
- B23:C24 : 값을 찾을 조건을 설정할 범위
세번째 인수 [B23:C24] 범위를 살펴보면
필드명 '거래처'와 '상품분류'가 단순히 제목 역할만 하는 것이 아니고 실제로 값을 찾을 때 사용되는 필드명입니다. 따라서 필드명이 Database영역의 필드명과 틀리면 값을 찾지 못합니다.
수식이 입력되면,
- 거래처가 '신촌문구'이고
- 상품분류가 '노트'인 자료
2개를 찾고
최종적으로 [B31] 셀에 '판매금액' 필드의 합계 2,100,000원을 구해줍니다.
※ 위의 예에서는 조건을 2개 만 지정했는데 조건을 세개, 네개, 다섯개.. 등 계속 늘리고 싶다면 다음 그림과 같이 조건필드를 더 추가하고 수식에서 범위를 지정하면 됩니다.
2) DSUM함수로 조건을 하나라도 만족하는 합계 구하기(OR조건)
이번에는 거래처가 '신촌문구'또는 '강남아트박스'또는 '종로'로 시작하는 것의 판매금액 합계를 구해보겠습니다.
논리식으로 표현하면 다음과 같습니다.
(거래처="신촌문구" OR 거래처="강남아트박스" OR 거래처="종로*")
=DSUM($B$4:$G$19,"판매금액",B23:B26)
수식 풀이:
=DSUM($B$4:$G$19,"판매금액",B23:B26)
- $B$4:$G$19 : 값을 찾을 범위(Database)
- "판매금액" : 합계를 구할 필드(Database의 "판매금액" 필드명을 의미)
- B23:B26 : 값을 찾을 조건을 설정할 범위
세번째 인수 [B23:B26] 범위를 살펴보면,
필드명 밑에 입력된 조건값들이 각각 다른 행에 있으므로 '또는(OR)'조건이 적용됩니다.
※ 값을 찾을 조건 지정 시 AND조건과 OR조건을 설정하는 방법
Database함수의 마지막 인수인 ‘조건을 설정할 범위’의 형태에 따라서
AND조건이 되기도 하고 OR조건이 됩니다.
- 같은 행에 설정하면 AND 조건
수식이 입력되면
- 거래처가 '신촌문구' 또는
- '강남아트박스' 또는
- '종로'로 시작하는 자료를
아래와 같이 13개를 찾고
최종적으로 [B39]셀에 '판매금액' 합계 3,401,500원을 구해줍니다.
3) DSUM함수로 여러 조건을 만족하는 합계 구하기(AND,OR조건 혼합)
이번에는 거래처가 '신촌문구'이고 상품분류가 '노트'이고 판매금액이 100만원 미만인 것
또는
거래처가 '강남아트박스'이고 판매금액이 50만원보다 큰 것의 판매액 합계를 구해보겠습니다.
논리식으로 표현하면 다음과 같습니다.
(거래처="신촌문구" AND 상품분류 = "노트" AND 판매금액 < 1000000) OR (거래처="강남아트박스" AND 판매금액 > 500000)
=DSUM($B$4:$G$19,"판매금액",B23:D25)
수식 풀이:
=DSUM($B$4:$G$19,"판매금액",B23:D25)
- $B$4:$G$19 : 값을 찾을 범위(Database)
- "판매금액" : 합계를 구할 필드(Database의 "판매금액" 필드명을 의미)
- B23:D25 : 값을 찾을 조건을 설정할 범위
세번째 인수 [B23:D25] 범위를 살펴보면
같은 행에 있는 조건값은 AND조건이 적용되고, 다른 행에 있는 조건값은 OR조건이 적용되므로 위의 그림은 다음 논리식과 같이 적용됩니다.
(거래처="신촌문구" AND 상품분류 = "노트" AND 판매금액 < 1000000) OR (거래처="강남아트박스" AND 판매금액 > 500000)
수식이 입력되면
- 거래처가 '신촌문구'이고
- 상품분류가 '노트'이고
- 판매금액이 100만원 미만인 것
또는
- 거래처가 '강남아트박스'이고
- 판매금액이 50만원보다 큰 것의 자료
2개를 찾고
최종적으로 [B43] 셀에 '판매금액' 합계 1,500,000원을 구해줍니다.
[ 엑셀 날짜 및 시간 함수 ]
- DSTDEVP 함수 - 데이터베이스에서 조건에 맞는 항목의 모집단 표준편차 구하기
- DSTDEV 함수 - 데이터베이스에서 표본집단 표준편차 구하기
- DVARP 함수 - 데이터베이스에서 조건에 맞는 항목의 모집단 분산 구하기
- DVAR 함수 - 데이터베이스에서 조건에 맞는 항목의 표본집단 분산 구하기
- DPRODUCT 함수 - 데이터베이스에서 조건에 맞는 항목을 곱하기
- DGET 함수 - 데이터베이스에서 조건에 맞는 하나의 값 구하기
- DMIN 함수 - 데이터베이스에서 조건에 맞는 항목의 최소값 구하기
- DMAX 함수 - 데이터베이스에서 조건에 맞는 항목의 최대값 구하기
- DSUM 함수 - 데이터베이스에서 조건에 맞는 항목의 합계 구하기
- DCOUNTA 함수 - 데이터베이스에서 비어 있지 않은 셀의 개수 구하기
- DCOUNT 함수 - 데이터베이스에서 숫자가 포함된 셀의 개수 구하기
- DAVERAGE 함수 - 데이터베이스에서 평균구하기
- 엑셀 데이터베이스(Database) 함수 이해하기