
MAXIFS · MINIFS로 조건부 최대·최소 끝! (다중 조건·동률 처리·관련 값 찾기 1분 컷)
“서울·키보드 카테고리 중 최고 매출은?” “해당 월 최저 단가?” — MAXIFS / MINIFS로 깔끔하게 구하고, 그 행의 상세 정보까지 한 번에 연결하세요.
기본 문법
| 함수 | 형식 | 설명 |
|---|---|---|
| MAXIFS | =MAXIFS(max_range, criteria_range1, criteria1, [criteria_range2, criteria2], ...) | 조건을 만족하는 값 중 최대 |
| MINIFS | =MINIFS(min_range, criteria_range1, criteria1, [criteria_range2, criteria2], ...) | 조건을 만족하는 값 중 최소 |
TIP: 모든 범위는 같은 크기여야 하며, 날짜·숫자 비교는 ">="&셀처럼 연산자 문자열과 값을 &로 연결합니다.
실무 예제 8가지
1) 지역=Seoul의 최대 매출
=MAXIFS(Sales[Amount], Sales[Region], "Seoul")
2) 카테고리=Keyboard의 최소 단가
=MINIFS(Price, Category, "Keyboard")
3) 날짜 범위(해당 월) 최대 매출
=MAXIFS(C:C, B:B, ">="&EOMONTH(F2,-1)+1, B:B, "<="&EOMONTH(F2,0))
4) 텍스트 포함(“Pro”) 중 최대 금액
=MAXIFS(C2:C100, A2:A100, "*Pro*")
5) 다중 조건(지역=Seoul AND 상태=Delivered) 최소 리드타임
=MINIFS(LeadTime, Region, "Seoul", Status, "Delivered")
6) 0/빈값 제외 후 최소값
=MINIFS(C2:C100, C2:C100, "<>", C2:C100, "<>0")
7) 동률이 있는 최대값의 모든 행 목록(365)
=LET(mx, MAXIFS(C:C, B:B, "Seoul"),
FILTER(A:C, (B:B="Seoul")*(C:C=mx)))
8) 상위 N값(의사 LARGEIFS) — 365
=TAKE(SORT(FILTER(C2:C100, B2:B100="Seoul"),,-1), N)
극값 행의 다른 정보 가져오기
극값(숫자)만으로는 부족하죠. 아래처럼 XLOOKUP/INDEX로 같은 행의 상품명·주문번호 등을 가져오세요.
최대값의 제품명 (단일 행 우선 매칭)
=LET(mx, MAXIFS(Sales[Amount], Sales[Region], "Seoul"),
XLOOKUP(mx, Sales[Amount], Sales[Item], , 0))
최소 리드타임의 주문번호 (조건 포함)
=LET(mn, MINIFS(LeadTime, Region,"Seoul", Status,"Delivered"),
XLOOKUP(1, (LeadTime=mn)*(Region="Seoul")*(Status="Delivered"), OrderID))
동률 모두가 필요하면 FILTER를 사용하세요.
구버전 대체식
MAXIFS/MINIFS가 없는 버전에선 배열 수식 또는 AGGREGATE를 씁니다.
MAXIFS 대체
=MAX(IF(Region="Seoul", Amount)) // Ctrl+Shift+Enter
MINIFS 대체 + 다중 조건
=MIN(IF((Region="Seoul")*(Category="Keyboard"), Price))
AGGREGATE로 오류/빈셀 무시
=AGGREGATE(14, 6, Amount/(Region="Seoul"), 1) // 14=Large, 6=오류무시
실수·성능·정확도 체크
- 범위 크기 불일치 → 모든 범위의 행·열 수 동일.
- 텍스트 숫자 → VALUE 변환 또는 원천 형식 정규화.
- 동률 처리 → 값만 필요한지, 행 목록이 필요한지 결정(XLOOKUP vs FILTER).
- 전체열 참조 남용 → 큰 파일에서는 테이블/정확 범위를 사용(속도 ↑).
- 조건 우선 정리 → TRIM·CLEAN·SUBSTITUTE로 노이즈 제거 후 비교 정확도 확보.
요약 정리
| 목표 | 대표 공식 |
|---|---|
| 조건부 최대 | MAXIFS(값범위, 조건범위, 조건...) |
| 조건부 최소 | MINIFS(값범위, 조건범위, 조건...) |
| 극값 행의 상세 | XLOOKUP(극값, 값범위, 반환범위) |
| 구버전 | MAX/MIN(IF(조건,값)) 배열 수식 |
FAQ
빈셀은 어떻게 처리되나요?
MAXIFS/MINIFS는 기본적으로 빈셀을 무시합니다. 0을 제외하려면 조건에 "<>0"을 추가하세요.
텍스트 조건은 대소문자를 구분하나요?
아니요. 대소문자 구분이 필요하면 EXACT와 FILTER/배열식을 사용하세요.