티스토리 뷰

엑셀 DMAX 함수는 데이터베이스 범위에서 조건을 만족하는 레코드( 행 )를 선택하고 이 중에서 요구 필드의 최대값을 계산하는 함수이다. 곧, 엑셀 데이터베이스 함수 구조를 사용하는 조건부 MAX 함수라는 것이다.

엑셀 데이터베이스 함수는 여러개의 조건을 설정할 수 있고 와일드카드를 사용할 수 있기에 조건 검색 방법이 다양하다.

엑셀 데이터베이스 함수 기초 용어 :
http://secstart.tistory.com/742

엑셀 DMAX 함수 기본 설명

설명 : DMAX 함수는 데이터베이스 범위에서 조건을 만족하는 레코드( 행 )들을 선택하여 원하는 필드( 열 )의 최대값을 계산한다.
구문 : DMAX( database, field, criteria )
인수 :
    database : 데이터베이스 범위. 최상위 행은 필드명
    field : 최대값을 구할 데이터베이스 필드 ( 참조, 필드 순서, 필드명 )
    criteria : 레코드 선택을 위한 조건 범위 ( 필드명 아래 조건, 다중 조건 가능 )

노트1 : 다중 필드 조건 설정시 필드명은 동일 행에 위치
    - 조건이 동일 행이라면 AND 연산( 논리곱 )
    - 조건이 다른 행이라면 OR 연산( 논리합 )
노트2 : 조건에 영문 대소문자 비구분, 와일드카드 사용 가능( ? : 단일 문자, * : 문자열 )

참고1 : 와일드카드 문자를 검색할 때는 틸트( ~ : tilt )문자를 앞에 삽입. 예로 ~? 는 ? 을 검색.

엑셀 DMAX 함수 사용 예제

DMAX 함수로 데이터베이스를 이용한 최대값 구하기를 배워보자.

[그림1] 엑셀 DMAX 함수로 조건부 최대값 구하기[그림1] 엑셀 DMAX 함수로 조건부 최대값 구하기



사용 예제1 : =DMAX( A4:F11, F4, A14:A16 )
사용 결과1 : 258

신입사원 채용 시험 결과 테이블을 데이터베이스 범위로 설정한다. 이제 조건 범위의 설정( '전공' 필드가 '경영학과' 이거나 '무역학과' )을 만족하는 레코드들 중에서 F4 ( '총점' 필드 )의 최대값을 구한다. 258 이 최대값으로 반환된다.

조건 범위에는 두 개의 조건값이 사용되었다. 다른 행에 설정되어 있기에 OR 조건이다. 따라서 두 조건을 만족하는 모든 레코드가 선택된다. ( 노트1 )

사용 예제2 : =DMAX( B4:F11, 5, C14:D15 )
사용 결과2 : 221

데이터베이스 범위의 레코드 중에서 조건 범위의 두 AND 조건( '실기점수' 필드가 80 미만이고 '면접점수' 필드가 85 미만 )을 만족하는 레코드들을 선택하고 5 번째 필드( '총점' )에서 최대값을 구한다. 조건을 만족하는 8, 10 번 레코드들 중 '총점' 필드 최대값인 221 이 반환된다.

참고2 : field 인수는 database 인수의 범위에 포함되어야 한다. 따라서, 필드 순번을 의미하는 두 번째 인수 5 는 B4 부터 시작되어 '총점' 필드가 되는 것이다. 또 만일, 예제2 의 두 번째 인수가 6 이라면 #VALUE! 오류를 발생한다. 혹은 "응시번호" 로 주어져도 마찬가지이다. 둘 모두 database 범위에 포함되지 않기 때문이다.

참고3 : 데이터베이스 함수의 와일드카드( wildcard ) 사용
엑셀 DSUM 함수 조건부 합계 - 예제 3번 : http://secstart.tistory.com/743
엑셀 DAVERAGE 함수 조건부 평균 - 예제 3번 : http://secstart.tistory.com/744


엑셀 데이터베이스 함수가 이제 하나 남았다. 앞에서부터 익혀왔다면 지겨울 것이고 처음 데이터베이스 함수를 접한다면 어렵게 느껴질 수도 있다. 함수 모두가 같은 실행 방식이지만 인수들이 데이터베이스 구조를 사용하고 조건 설정시 논리 연산( 논리곱, 논리합 )을 살짝은 이해해야 한다. 또, 와일드카드까지 포함되기 때문이다.

엑셀 AND 함수로 논리곱 배우기 : http://secstart.tistory.com/691
엑셀 OR 함수로 논리합 배우기 : http://secstart.tistory.com/692
엑셀 와일드카드와 논리연산자 : http://secstart.tistory.com/565

엑셀 함수를 배울 때는 기능을 먼저 알고 이를 이용하기 위해 어떤 값들이 필요할 지를 가만히 그려본다. 그것들이 함수의 인수로 사용되니까.. 이제 내가 설계한 함수를 엑셀의 문법과 매칭시키면서 필요한 부분들만을 남긴다. 이렇게 스스로 함수를 이해하는 과정을 거치면 머리속에 오래 남고 함수명을 생각하면 기능과 인수가 생각날 것이다.

[기출 풀이] 컴활 2급 실기 2006년 2회 A형 기출문제 풀이 - 계산작업 :
http://secstart.tistory.com/198
[함수] 컴활 2급 실기 엑셀 DMAX 함수 - 컴활 2급 기출 풀이 :
http://secstart.tistory.com/118
[함수 요약] 컴활 실기 대비 데이터베이스 함수 요약 정리 :
http://secstart.tistory.com/175

마늘빵.


댓글