공든탑앱 열기

데이터베이스 함수

컴퓨터활용능력 1급 · 수식과 함수 · 약 16분

쉽게 말하면

데이터베이스 함수는 이름이 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 · ROUNDINT와 TRUNC는 버림(양수에서는 결과가 같다), ROUND(값, 0)은 반올림이라 결과가 다를 수 있다

시험에 이렇게 나와요

확인 문제

Q1. DSUM, DAVERAGE 같은 데이터베이스 함수의 인수 순서로 옳은 것은?

  1. (데이터베이스, 필드, 조건 범위)
  2. (조건 범위, 필드, 데이터베이스)
  3. (필드, 데이터베이스, 조건 범위)
  4. (데이터베이스, 조건 범위, 필드)
정답 보기

1번 (데이터베이스, 필드, 조건 범위)

(데이터베이스, 필드, 조건 범위). 데이터베이스는 머리글을 포함한 표 전체, 필드는 계산할 열의 이름("급여")이나 번호(4), 조건 범위는 머리글과 조건을 적은 표다.

Q2. 조건 범위가 다음과 같을 때 뜻은? (1행: 부서, 급여 / 2행: 영업, >=300)

  1. 급여 합계가 300 이상인 부서
  2. 영업이고 급여 300 이상
  3. 영업이 아니고 급여 300 미만
  4. 영업이거나 급여 300 이상
정답 보기

2번 영업이고 급여 300 이상

'영업이고 급여 300 이상'이다. 조건 범위에서 같은 행에 쓴 조건은 AND(그리고), 다른 행에 쓴 조건은 OR(또는)로 묶인다.

Q3. 데이터베이스 함수에서 '필드' 인수로 쓸 수 없는 것은?

  1. 4
  2. A1:D6
  3. "급여"
  4. D1
정답 보기

2번 A1:D6

필드는 열 이름(글자나 머리글 셀)이나 번호. A1:D6은 데이터베이스다.

Q4. 급여 열에서 조건에 맞는 숫자 셀의 개수를 구하는 함수는?

  1. DSUM
  2. DGET
  3. DMAX
  4. DCOUNT
정답 보기

4번 DCOUNT

DCOUNT다. 조건에 맞는 행에서 숫자가 든 셀의 개수를 센다. DSUM은 합계, DMAX는 최댓값, DGET은 값 하나를 가져온다.

헷갈리기 쉬운 O·X

데이터베이스 범위에는 머리글 행을 빼고 데이터만 지정한다.

정답 보기

X 머리글 포함. 필드 이름으로 열을 찾기 때문.

조건 범위에서 다른 행에 쓴 조건은 OR로 연결된다.

정답 보기

O 맞다. 다른 행에 쓰면 OR(또는), 같은 행에 쓰면 AND(그리고)로 연결된다.

조건 범위의 머리글은 데이터베이스의 머리글과 이름이 같아야 한다.

정답 보기

O 이름으로 어느 열을 검사할지 정한다.

함께 보면 좋은 개념