
엑셀 MAXIFS MINIFS 함수로 조건별 최대·최소값 한 번에 끝내기
조건별로 “가장 큰 값 / 가장 작은 값”을 찾아야 하는 순간이 진짜 많습니다. 예를 들면, “서울 온라인 채널에서 셔츠를 가장 비싸게 판 금액은 얼마지?”, “A 브랜드에서 가장 저렴하게 팔린 할인가는 얼마였지?” 같은 질문입니다.
이 글에서는 이런 질문을 한 번에 해결해 주는 MAXIFS MINIFS 함수 사용법을 기초부터 실무 예제, 구버전 대체 공식, 오류 트러블슈팅까지 모두 정리합니다. 글 끝까지 따라오면 판매·재고·인사 데이터 어디에든 바로 적용할 수 있는 조건별 최대·최소값 템플릿을 만들 수 있습니다.
빠른 해결(Quick Fix) – 조건별 최대·최소값 3분 만에 구하기
1단계: 데이터 구조 확인
예를 들어 아래와 같은 판매 데이터를 가정합니다.
| 열 | 내용 | 예시 데이터 |
|---|---|---|
| A | 날짜 | 2025-01-01 |
| B | 제품 | 셔츠 |
| C | 지역 | 서울 |
| D | 채널 | 온라인 |
| E | 매출금액 | 59,000 |
우리가 알고 싶은 것: “서울 + 온라인 + 셔츠 조건을 만족하는 행 중에서 가장 큰 매출금액과 가장 작은 매출금액”입니다.
2단계: MAXIFS로 조건별 최대값 구하기
결과를 표시할 셀(예: H2)을 선택하고 아래 수식을 입력합니다.
=MAXIFS(E2:E100, B2:B100, "셔츠", C2:C100, "서울", D2:D100, "온라인")
E2:E100 범위에서 제품이 “셔츠”이고, 지역이 “서울”, 채널이 “온라인”인 행만 골라 그 안에서 가장 큰 매출금액을 반환합니다.
3단계: MINIFS로 조건별 최소값 구하기
바로 옆 셀(예: H3)에 최소값용 공식을 입력합니다.
=MINIFS(E2:E100, B2:B100, "셔츠", C2:C100, "서울", D2:D100, "온라인")
같은 조건에서 가장 작은 매출금액을 찾습니다.
MAX / MIN vs MAXIFS / MINIFS
MAX / MIN vs MAXIFS / MINIFS
MAX, MIN은 단순히 범위에서 가장 큰 값, 가장 작은 값만 찾고, 조건 개념이 없습니다. 반대로 MAXIFS MINIFS 함수는 하나 이상의 조건을 만족하는 셀만 골라 그 안에서 최대값과 최소값을 찾습니다. COUNTIFS, SUMIFS, AVERAGEIFS와 같은 *IFS 계열과 형제 함수라고 보면 됩니다.
함수 인수 구조와 동작 원리
함수 구조는 다음과 같습니다.
=MAXIFS(max_range, criteria_range1, criteria1, [criteria_range2, criteria2], ...)
=MINIFS(min_range, criteria_range1, criteria1, [criteria_range2, criteria2], ...)
- max_range / min_range: 실제로 최대/최소값을 찾을 숫자 범위
- criteria_range1, criteria1: 첫 번째 조건 범위와 조건 값
- [criteria_range2, criteria2]: 두 번째, 세 번째 조건을 추가하는 자리 (최대 126쌍까지)
지원 버전과 사용 시 주의점
MAXIFS와 MINIFS는 Excel 2019 이후 버전과 Microsoft 365, Excel for the web에서 지원됩니다. Excel 2016 이하 구버전에서는 지원하지 않을 수 있으며, 이 경우에는 MAX(IF()), MIN(IF()) 배열 수식이나 AGGREGATE 함수로 대체해야 합니다.
실무 예제 1 – 제품·지역별 최대/최소 매출 찾기
샘플 판매 데이터 만들기
아래와 같은 샘플 데이터를 시트에 입력합니다.
| 날짜 | 제품 | 지역 | 채널 | 매출금액 |
|---|---|---|---|---|
| 2025-01-01 | 셔츠 | 서울 | 온라인 | 59000 |
| 2025-01-02 | 셔츠 | 부산 | 오프라인 | 49000 |
| 2025-01-03 | 바지 | 서울 | 온라인 | 79000 |
| 2025-01-04 | 셔츠 | 서울 | 오프라인 | 55000 |
| 2025-01-05 | 셔츠 | 서울 | 온라인 | 89000 |
| 2025-01-06 | 바지 | 부산 | 온라인 | 69000 |
| 2025-01-07 | 셔츠 | 부산 | 온라인 | 39000 |
| 2025-01-08 | 셔츠 | 서울 | 온라인 | 99000 |
| 2025-01-09 | 셔츠 | 서울 | 온라인 | 45000 |
| 2025-01-10 | 바지 | 서울 | 온라인 | 84000 |
한 가지 조건으로 최대/최소 매출 구하기
목표: “서울 지역 전체에서 판매된 것 중 가장 큰 매출금액과 가장 작은 매출금액 구하기”
최대값:
=MAXIFS(E2:E11, C2:C11, "서울")
최소값:
=MINIFS(E2:E11, C2:C11, "서울")
여러 조건(제품+지역+채널)으로 최대/최소 매출 구하기
목표: 제품=셔츠, 지역=서울, 채널=온라인 조건을 모두 만족하는 행 중 최대/최소 매출금액 구하기
=MAXIFS(E2:E11, B2:B11, "셔츠", C2:C11, "서울", D2:D11, "온라인")
=MINIFS(E2:E11, B2:B11, "셔츠", C2:C11, "서울", D2:D11, "온라인")
실무 예제 2 – 날짜 범위·숫자 조건을 함께 쓰는 고급 활용
특정 기간 동안의 최고 매출일 찾기
시작일과 종료일을 G2, G3 셀에 입력하고, 제품명을 G4에 입력했다고 가정합니다.
=MAXIFS(E2:E11,
B2:B11, $G$4,
A2:A11, ">="&$G$2,
A2:A11, "<="&$G$3)
같은 방식으로 최소값은 MINIFS로 구할 수 있습니다.
“목표 이상/이하” 숫자 조건과 함께 쓰기
지역이 서울이고 매출금액이 60000 이상인 행만 대상으로 최대/최소 매출을 구하는 예제입니다.
=MAXIFS(E2:E11, C2:C11, "서울", E2:E11, ">=60000")
=MINIFS(E2:E11, C2:C11, "서울", E2:E11, ">=60000")
MAXIFS MINIFS가 없는 버전(2016 이하) 대체 공식
배열 수식 MAX(IF()), MIN(IF())로 구현
제품=셔츠, 지역=서울 조건에서 최대 매출금액을 구하는 배열 수식 예제입니다.
=MAX(IF((B2:B11="셔츠")*(C2:C11="서울"), E2:E11))
최소값은 MIN으로 바꿔서 사용합니다.
=MIN(IF((B2:B11="셔츠")*(C2:C11="서울"), E2:E11))
AGGREGATE 함수로 대체하는 방법
=AGGREGATE(14, 6, E2:E11/((B2:B11="셔츠")*(C2:C11="서울")), 1)
버전에 따라 선택해야 하는 전략
- 여러 버전에서 공용으로 사용할 템플릿: MAX(IF()), MIN(IF()) 배열 수식
- Office 365 / 최신 버전: MAXIFS MINIFS 함수 적극 사용
- 대용량·복잡한 조건: 피벗테이블, Power Query와 병행 사용
자주 발생하는 오류와 트러블슈팅
결과가 0만 나오는 이유
- 조건과 실제 데이터가 공백·숨은 문자 등으로 조금씩 다른 경우
- max_range와 criteria_range의 행 수가 서로 다른 경우
- 조건을 만족하는 값이 실제로 하나도 없는 경우
#VALUE!, #N/A 등 오류가 나오는 경우
- 범위 크기가 서로 다르거나
- 숫자 범위에 텍스트가 섞여 있거나
- 날짜를 텍스트로 입력해 인식되지 않을 때 자주 발생합니다.
MAXIFS / MINIFS 트러블슈팅 표
| 증상 | 원인 | 해결법 |
|---|---|---|
| 결과가 항상 0 | 조건을 만족하는 행이 없음 | 조건 값과 필터 결과를 다시 확인 |
| 결과가 이상하게 작거나 큼 | 범위 크기가 서로 다름 | max_range, criteria_range 시작·끝 행 재확인 |
| #VALUE! 오류 | 범위 간 크기 불일치, 잘못된 인수 | 모든 범위가 같은 행 수인지 확인 |
| #NAME? 오류 | MAXIFS/MINIFS를 지원하지 않는 버전 | MAX(IF()), AGGREGATE, 피벗테이블 등으로 대체 |
| 날짜 조건이 먹지 않음 | 날짜가 텍스트로 입력됨 | 셀 서식을 날짜 또는 일반으로 변경, DATEVALUE 등으로 변환 |
다른 함수와 함께 쓰는 패턴 – SUMIFS, AVERAGEIFS, FILTER 연계
조건별 최대값과 상세 목록을 동시에 보는 방법
H2 셀에 MAXIFS로 최대 매출금액을 구한 뒤, FILTER 함수로 해당 행을 추출하는 예제입니다.
=FILTER(A2:E11,
(B2:B11="셔츠")*
(C2:C11="서울")*
(D2:D11="온라인")*
(E2:E11=H2))
조건별 요약 리포트 템플릿 아이디어
제품·지역·채널별로 최대/최소 매출을 정리한 표를 만들고, 아래와 같은 수식을 사용합니다.
=MAXIFS($E$2:$E$11, $B$2:$B$11, $A2, $C$2:$C$11, $B2, $D$2:$D$11, $C2)
=MINIFS($E$2:$E$11, $B$2:$B$11, $A2, $C$2:$C$11, $B2, $D$2:$D$11, $C2)
마무리 – 보고서 자동화까지 이어가기
이제 MAXIFS MINIFS 함수를 활용하면 판매 데이터 분석, 프로모션 성과 분석, 최고가/최저가 모니터링, 직원 평가 점수 분석 등 다양한 리포트를 쉽게 자동화할 수 있습니다.
함께 보면 좋은 글: