데이터베이스 함수
쉽게 말하면
데이터베이스 함수는 이름이 D로 시작해요(DSUM, DAVERAGE, DCOUNT…). 표 전체, 계산할 열, 조건표 세 가지를 받아요. 조건표는 시트 빈 곳에 표 머리글과 똑같은 제목을 쓰고 그 아래에 조건을 적어 만들어요. 조건을 같은 줄에 쓰면 '그리고(AND)', 다른 줄에 쓰면 '또는(OR)'이에요. 이 규칙은 고급 필터와 똑같아요.
시험용 정의
데이터베이스 함수는 (데이터베이스, 필드, 조건 범위) 세 인수를 받아 조건에 맞는 행만 계산한다. 데이터베이스는 첫 행이 머리글(필드 이름)인 표 전체, 필드는 계산할 열의 이름("급여")이나 열 번호(4), 조건 범위는 머리글과 같은 이름을 첫 행에 쓰고 그 아래에 조건을 적은 범위다. 조건을 같은 행에 쓰면 AND, 다른 행에 쓰면 OR다. 함수는 DSUM(합계), DAVERAGE(평균), DCOUNT(숫자 셀 개수), DCOUNTA(비어 있지 않은 셀 개수), DMAX·DMIN(최대·최소), DGET(조건에 맞는 값 하나, 여럿이면 #NUM!, 없으면 #VALUE!)이 있다. 조건 범위는 고급 필터의 조건과 같은 규칙이다.
비유로 이해하기
데이터베이스 함수는 사서에게 주는 쪽지다. '이 책장(데이터베이스)에서, 쪽수 칸(필드)을, 이 쪽지에 적힌 조건대로(조건 범위) 골라 더해 주세요.' 쪽지에 같은 줄로 적으면 둘 다 맞아야 하고, 다른 줄로 적으면 하나만 맞아도 된다.
자세히
먼저 알아 둘 말
| 말 | 뜻 |
|---|---|
| 데이터베이스 | 첫 행이 머리글인 표 전체 (A1:D6) |
| 필드 | 열. 머리글 이름("급여")이나 왼쪽부터 번호(4)로 지정 |
| 레코드 | 행 하나 (한 사람의 정보) |
| 조건 범위 | 머리글과 같은 이름 + 그 아래 조건을 적은 작은 표 |
이 시트로 연습해요
A1:D6이 직원 표(데이터베이스)예요. 오른쪽에 조건표를 미리 세 개 만들어 두었어요.
- F1:F2: 부서가 영업
- H1:H3: 부서가 영업 또는 총무 (다른 행 → OR)
- J1:K2: 부서가 영업 그리고 급여가 300 이상 (같은 행 → AND)
조건 범위 모양
| 조건표 | 뜻 |
|---|---|
| 부서 / 영업 | 부서가 영업 |
| 부서 · 급여 / 영업 · >=300 (같은 행) | 영업 이고 300 이상 |
| 부서 / 영업 / 총무 (두 행) | 영업 또는 총무 |
| 부서 · 급여 / 영업 · (빈칸) / (빈칸) · >=300 | 영업 또는 급여 300 이상 |
| 이름 / 김* | 김으로 시작 (와일드카드) |
기출에서 더 나온 것
| 말 | 뜻 |
|---|---|
| INT · TRUNC · ROUND | INT와 TRUNC는 버림(양수에서는 결과가 같다), ROUND(값, 0)은 반올림이라 결과가 다를 수 있다 |
시험에 이렇게 나와요
- DSUM·DAVERAGE(데이터베이스, 필드, 조건 범위) → 필드는 열 이름이나 열 번호
- INT·TRUNC는 버림, ROUND(…, 0)은 반올림 → 결과가 달라질 수 있음
확인 문제
Q1. DSUM, DAVERAGE 같은 데이터베이스 함수의 인수 순서로 옳은 것은?
- (데이터베이스, 필드, 조건 범위)
- (조건 범위, 필드, 데이터베이스)
- (필드, 데이터베이스, 조건 범위)
- (데이터베이스, 조건 범위, 필드)
정답 보기
1번 (데이터베이스, 필드, 조건 범위)
(데이터베이스, 필드, 조건 범위). 데이터베이스는 머리글을 포함한 표 전체, 필드는 계산할 열의 이름("급여")이나 번호(4), 조건 범위는 머리글과 조건을 적은 표다.
Q2. 조건 범위가 다음과 같을 때 뜻은? (1행: 부서, 급여 / 2행: 영업, >=300)
- 급여 합계가 300 이상인 부서
- 영업이고 급여 300 이상
- 영업이 아니고 급여 300 미만
- 영업이거나 급여 300 이상
정답 보기
2번 영업이고 급여 300 이상
'영업이고 급여 300 이상'이다. 조건 범위에서 같은 행에 쓴 조건은 AND(그리고), 다른 행에 쓴 조건은 OR(또는)로 묶인다.
Q3. 데이터베이스 함수에서 '필드' 인수로 쓸 수 없는 것은?
- 4
- A1:D6
- "급여"
- D1
정답 보기
2번 A1:D6
필드는 열 이름(글자나 머리글 셀)이나 번호. A1:D6은 데이터베이스다.
Q4. 급여 열에서 조건에 맞는 숫자 셀의 개수를 구하는 함수는?
- DSUM
- DGET
- DMAX
- DCOUNT
정답 보기
4번 DCOUNT
DCOUNT다. 조건에 맞는 행에서 숫자가 든 셀의 개수를 센다. DSUM은 합계, DMAX는 최댓값, DGET은 값 하나를 가져온다.
헷갈리기 쉬운 O·X
데이터베이스 범위에는 머리글 행을 빼고 데이터만 지정한다.
정답 보기
X 머리글 포함. 필드 이름으로 열을 찾기 때문.
조건 범위에서 다른 행에 쓴 조건은 OR로 연결된다.
정답 보기
O 맞다. 다른 행에 쓰면 OR(또는), 같은 행에 쓰면 AND(그리고)로 연결된다.
조건 범위의 머리글은 데이터베이스의 머리글과 이름이 같아야 한다.
정답 보기
O 이름으로 어느 열을 검사할지 정한다.