티스토리 뷰

정보 전달 블로그에서는 존칭과 존댓말이 이해도를 떨어뜨리는 것 같습니다. 그래서, 이번 게시물부터 빠르고 쉬운 전달을 위해 존댓말을 생략해 보려 합니다. 오해 없으시기 바랍니다.

지난 게시물의 엑셀 DSUM 함수 기본 설명과 데이터베이스 함수 기초에 이어 DSUM 함수를 사용하는 예제를 보면서 데이터베이스 함수의 활용법을 배워보자.

엑셀 DSUM 함수는 데이터베이스로 설정한 시트 영역에서 지정 조건을 만족하는 레코드를 추출하여 원하는 필드의 합계를 구하는 함수이다.

[엑셀 모바일] DSUM 함수로 데이터베이스 필드 합계 구하기 - 기본 :
http://secstart.tistory.com/742

엑셀 DSUM 함수 간략 설명

설명 : 데이터베이스 범위에서 조건을 만족하는 필드의 합계를 구하는 함수
구문 : DSUM( database, field, criteria )
인수 :
    database : 데이터베이스 범위
    field : 합을 구할 필드
    criteria : 조건 지정 범위

상세 설명은 위의 이전 게시물 링크에서 ...

엑셀 DSUM 함수 사용 예제

DSUM 함수를 이용하여 조건을 만족하는 필드( 열 )의 합계를 구하는 다양한 방법을 배워보자.

[그림2] 엑셀 DSUM 함수로 데이터베이스 필드 합계 구하기[그림2] 엑셀 DSUM 함수로 데이터베이스 필드 합계 구하기



사용 예제1 : =DSUM( A4:F11, F4, A14:A15 )
사용 결과1 : 733

A4:F11 의 범위를 데이터베이스로 설정한다. 이때 가장 위의 행은 필드명으로 채워져야 한다. 그 아래는 각 필드값들로 채워진다.
field 인수는 합계를 구할 필드이다. 따라서, F4 의 값인 "총점" 필드의 합계를 구하는 것이다.
마지막으로 합계를 구할 조건을 설정한다. 세번째 인수로 조건 설정된 범위를 참조 주소로 전달한다. A14:A15 처럼 필드명이 위에 오고 그 아래에 조건값이나 표현식이 놓이는 형태로 조건이 설정된다.

결국 위의 DSUM 함수식은 데이터베이스 범위에서 A14:A15 의 조건으로 "전공" 필드 값이 "무역학과" 인 레코드( 행 )를 찾고 합계를 구할 필드명( 열 )인 "총점" 의 합을 구하는 것이다. 가장 기본적인 데이터베이스 함수의 사용법이다.

참고2 : 정확하게 일치하는 필드 찾기 조건 설정
조건값 무역학과="무역학과" 와 동일한 조건이다. 한가지 주의 할 것은 무역 이라고 조건 설정하여도 "무역학과" 가 선택된다. "무역" 으로 시작하는 모든 값을 찾기 때문이다. "무역" 이란 두 자의 일치를 설정하고 싶다면 ="=무역" 이라 설정하면 된다. ( 예: A15 의 값을 ="=무역" 으로 설정한다면 예제1의 결과는 0 이 될 것이다. 조건을 만족하는 레코드가 없기 때문이다. )

사용 예제2 : =DSUM( B4:E11, "면접점수", C14:D16 )
사용 결과2 : 348

데이터베이스 범위 B4:E11 에서 C14:D16 의 조건대로 "필기점수" 필드가 ">=92" ( 92 이상 ) 이거나 "실기점수" 필드가 ">=85" ( 85 이상) 인 레코드를 찾아 "면접점수" 필드의 합계를 구한다. 두번째 인수인 필드명은 "면접점수" 처럼 직접 문자열로 지정할 수도 있다.

"필기점수" 92 이상인 6번, 10번 행과 "실기점수" 85 이상인 5, 6, 9, 10번 행( 레코드 )이 각 조건을 만족한다. 다른 행에 놓인 조건은 OR 연산( 논리합 )이기에 두 조건 중 하나라도 만족하면 된다. 그래서 E6, E10,, E5, E9 의 합계가 결과로 반환된다.

참고3 : 다중 조건의 AND 와 OR 처리
예제2 함수식에서는 두 개 조건이 사용되었다. 이때 필드명은 동일 행에 놓인다. 그 아래의 필드 값이나 조건 표현식( ">=92", ">=85" )이 같은 행에 위치한다면 AND 연산( 논리곱 )으로 처리되어 두 조건을 모두 만족하여야 하지만, 위의 조건처럼 다른 행이라면 OR 연산( 논리합 )으로 처리된다. 즉, 두 조건 중 하나라도 만족한다면 지정 필드의 합계가 구해지는 것이다.

사용 예제3 : =DSUM( A4:E11, 4, F14:F15 )
사용 결과3 : 176

A4:E11 의 데이터베이스 범위에서 조건을 만족하는 합계를 구한다. 두 번째 인수로 주어진 4 는 데이터베이스 범위에서 4 번째 필드( 열 ) 인 "실기점수" 의 합계를 구한다는 의미이다.

조건 설정에는 와일드카드 문자가 사용되었다. "응시번호" 필드가 "*-5??" 인 레코드를 선택하여 합계를 구한다는 것이다. 와일드카드 * 은 모든 문자들을 의미하고 ? 는 한 문자를 의미한다. 즉, "*-5??" 은 '-5' 앞에 어떤 문자열이 나열되어도 상관없고 그 뒤에는 두개의 문자가 오는 레코드( 행 ) 을 선택하고 합계를 구한다는 것이다.

"응시번호" 필드인 A5 셀과 A9 셀이 와일드카드 조건을 만족하기에 5 행과 9 행( 레코드 ) 에서 "실기점수" 필드의 합계를 구하는 것이다. D5 와 D9 셀의 합, 176 이 결과로 반환된다.


엑셀 데이터베이스 함수는 하나의 함수를 확실히 이해하면 나머지 함수들은 그냥 따라온다. 모두가 같은 방법으로 동작하기 때문이다. 이 여러개의 데이터베이스 함수가 컴퓨터활용능력 시험에도 빠지지 않고 나오기에 노력에 비해 얻어가는게 많은 엑셀 함수 분류이다. 여러 가지의 조건부 처리에 사용될 수 있기에 실무에도 다양하게 사용된다. 첫 DB 함수라 좀 자세히 살펴보았다.

[기출 풀이] 컴활 2급 실기 2007년 1회 A형 기출문제 풀이 - 계산작업 :
http://secstart.tistory.com/186

[엑셀 함수] 데이터베이스 함수 DSUM 함수 강좌 - 이전 버전 :
http://secstart.tistory.com/170

[함수] 컴활 2급 실기 엑셀 데이터베이스 함수 - 컴활 2급 기출 풀이 :
http://secstart.tistory.com/115

마늘빵.


댓글